读取csv文件保持错误"No such file or directory"



我正在尝试使用pyscript读取csv文件。一直显示一条错误消息。

JsException(PythonError: Traceback (most recent call last): File "/lib/python3.10/site-packages/_pyodide/_base.py", line 429, in eval_code .run(globals, locals) File "/lib/python3.10/site-packages/_pyodide/_base.py", line 300, in run coroutine = eval(self.code, globals, locals) File "", line 1, in File "/lib/python3.10/site-packages/pandas/util/_decorators.py", line 311, in wrapper return func(*args, **kwargs) File "/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 680, in read_csv return _read(filepath_or_buffer, kwds) File "/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 575, in _read parser = TextFileReader(filepath_or_buffer, **kwds) File "/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 933, in __init__ self._engine = self._make_engine(f, self.engine) File "/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1217, in _make_engine self.handles = get_handle( # type: ignore[call-overload] File "/lib/python3.10/site-packages/pandas/io/common.py", line 789, in get_handle handle = open( FileNotFoundError: [Errno 44] No such file or directory: 'salaries.csv' )

  1. 我已经把csv文件和我的html放在了同一个文件夹中文件
  2. 我也使用os库来打印csv文件的url,但是仍然存在错误
  3. pwd没有正常工作。尝试将路径添加到py env,但仍未正在工作

读取csv的代码,pandas被导入。

<py-script>
df = pd.read_csv("salaries.csv")
</py-script>`
<py-env>
- matplotlib
- numpy
- seaborn
- pandas
</py-env>
<py-script>
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import os
</py-script>

我希望有人能帮我解决这个问题。

Pyscript正在快速发展。现在
例如,您会注意到py-config已取代py-env,请参阅此处
paths,在此处关于本地文件访问的部分中已经突出显示,现在的使用方式有所不同。paths现在是一个列表,用于指定要安装的本地Python模块,请参阅此处。open_url似乎是获取项目的建议方法,请参阅此处和当前pyscript演示示例
如果您从.csv文件所在的同一文件夹中提供HTML文件(我收集到的情况是"我确实将csv文件放在了与我的HTML文件相同的文件夹中"(,那么您可以使用相对URL来指向它。

例如,在GitHub上托管.csv文件目前在下面的示例中工作:

<html>
<head>
<title>Panndas Example with reading from relative url in the same location where HTML resides</title>
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head>
<py-config>
packages = [
"pandas",
"jinja2"
]
</py-config>
<body>
<h1>Hello World!</h1>
<p>This is a test To see how my html code is.</p>
<p>This space below will become blank as a few seconds is taken to render the dataframe. Be patient ...</p>
<div id="pane"></div>
<py-script>      
import pandas as pd
from pyodide.http import open_url
url = 'penguins.csv'
df = pd.read_csv(open_url(url))
df.head(39).style.format(precision=2)

</py-script>
</body>
</html>

您可以在此处看到运行的HTML。

请注意,它可能会在几小时或几天后中断。由于这种类似于OP方法的老路线现在已经过时了。


如果您不想只显示Pandas数据帧。。。或者,如果您想使用Pyodide/WAM主动处理.csv中的数据,您可以使用JupyterLite中的文件浏览器将本地.csv放入虚拟系统中,并与Pandas交互使用其中包含的数据。请参阅我的建议。如果您进行了任何有用的更改,请确保保存新数据,并将修改后的版本从浏览器内的虚拟文件系统下载回本地计算机的文件处理系统。否则,您可能会认为更改浏览器或清除缓存可能会擦除内部存储中的编码或制作内容。

相关内容

最新更新