我无法打开程序生成的任何 CSV 文件(我没有程序的完整详细信息),它的文件名类似于 266925.130314-88850999.word
该文件是一个 csv,它在 excel 2013 中打开并且所有编辑器都正常,我尝试使用原始文件名打开,我尝试通过将扩展名从 .word 更改为 .csv 来打开
没有任何效果,我收到下面详述的错误。
CSV 示例部分
"tes","","2PT26","",4,7,"TEST","SHEEP AND STUFFF 1kg","",1.1111,9.9999,1,0.000,2.6900,0.0000,0.000,
空闲 gui 中的完整错误消息
>>> open('C:\Console2\edz\test.csv', 'r', newline='', encoding='utf-8')
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
open('C:\Console2\edz\test.csv', 'r', newline='', encoding='utf-8')
OSError: [Errno 22] Invalid argument: 'C:\\Console2\\edz\test.csv'
Pandas 错误(没有给出完整的,因为它有大量带有回溯的文本 - 如果需要可以添加)
OSError: File b'C:\\Console2\\edz\test.csv' does not exist
我已经测试过这个文件存在
files = os.listdir("C:\Console2\edz")
print (files)
['report.csv', 'test.csv']
我可以使用与 report.csv 完全相同的代码(这个 csv 是一个已知的工作代码,不是由程序创建的)并且它加载正常。
我不明白为什么这个文件打不开,我试过 open/read_csv/read_excel,在 idle 和 pandas 上都产生相同的错误。
正在拔头发,请帮忙。
最佳答案
这里的问题是 Python 使用 escapes在字符串中 - '\t'
是一个制表符,因此当该序列出现在您的路径中时,它会改变含义(请注意在输出中如何转义其他反斜杠)。 Python 正在寻找 'C:\Console2\edz est.csv'
。
最好的解决方案是对路径使用正斜杠 - Python 会做正确的事情,即使在 Windows 下也是如此。
open('C:/Console2/edz/test.csv', 'r', newline='', encoding='utf-8')
您还可以使用原始字符串 (r'C:\Console2\edz\test.csv'
) 或转义反斜杠 ('C:\\Console2\\edz\\test.csv'
) - 但前者无法处理尾随反斜杠,后者难以读写。
关于python - 无法读取/打开/或对 CSV 文件 python 3.4 windows 执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23572520/