【发布时间】:2022-11-03 13:19:56
【问题描述】:
我正在将信息写入 2 个 .csv 文件(2 列,以逗号分隔)。我已经使用 time.sleep() 确保我的桌面有足够的时间在 pandas 尝试将信息加载到数据帧之前将所有数据写入文件。似乎问题仍然存在于archorg.csv,因为我尝试颠倒导入文件的顺序并且pacman.csv 没有给出错误,但archorg.csv 仍然存在。
onlinedf = pd.read_csv('/home/kia/Code/update/data/archorg.csv')
pacmandf = pd.read_csv('/home/kia/Code/update/data/pacman.csv')
当我尝试运行它时,我收到以下错误:
Traceback (most recent call last):
File "/home/kia/Code/update/main.py", line 28, in <module>
ugh = main()
File "/home/kia/Code/update/main.py", line 20, in __init__
filemgr.loadfiles()
File "/home/kia/Code/update/files.py", line 10, in loadfiles
onlinedf = pd.read_csv('/home/kia/Code/update/data/archorg.csv')
File "/usr/lib/python3.10/site-packages/pandas/util/_decorators.py", line 311, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 680, in read_csv
return _read(filepath_or_buffer, kwds)
File "/usr/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 575, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/usr/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 934, in __init__
self._engine = self._make_engine(f, self.engine)
File "/usr/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1236, in _make_engine
return mapping[engine](f, **self.options)
File "/usr/lib/python3.10/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 75, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas/_libs/parsers.pyx", line 551, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
最后,我去解释器,逐行输入以下内容:
>>> import pandas as pd
>>> pd.read_csv('/home/kia/Code/update/data/archorg.csv')
package version
0 python-dulwich 0.20.45-1
1 sqlite-tcl 3.39.1-1
2 sqlite-doc 3.39.1-1
3 sqlite-analyzer 3.39.1-1
4 sqlite 3.39.1-1
.. ... ...
223 python-voluptuous 0.13.1-1
224 python-tldextract 3.3.1-1
225 perl-file-mimeinfo 0.33-1
226 perl-crypt-passwdmd5 1.42-1
227 perl-test-simple 1.302191-1
[228 rows x 2 columns]
它似乎可以毫无问题地完成工作。我还在下面发布了部分 csv 文件,以防出现问题,尽管我已经检查了它是否有额外的逗号/空格/等。
package,version
python-dulwich,0.20.45-1
sqlite-tcl,3.39.1-1
sqlite-doc,3.39.1-1
sqlite-analyzer,3.39.1-1
sqlite,3.39.1-1
lemon,3.39.1-1
tp_smapi-lts,0.43-254
r8168-lts,8.050.03-9
acpi_call-lts,1.2.2-58
nvidia-lts,1:515.57-6
linux-lts-headers,5.15.55-1
linux-lts-docs,5.15.55-1
linux-lts,5.15.55-1
mattermost,7.1.1-1
node-gyp,9.1.0-1
trivy,0.30.0-1
sile,0.13.3-1
编辑:repo 添加完整审核。
编辑 2:使用 sep= 而不是 delim_whitespace 使其工作,然后使用 csv 模块而不是字符串连接写入文件,以消除 csv 格式错误的任何可能性。存储库中显示的所有文件以供参考。
【问题讨论】:
-
你能添加一个代码sn-p你如何生成和保存它吗?
-
@RodrigoLaguna 已将 github 存储库添加到我的帖子中。
-
你能只包括写入数据和使用延迟问题的部分吗?
标签: python pandas dataframe csv