我在使用csv模块时遇到问题。
这是我的代码
import csv
out = open('C:\Python27\Work\test.csv')
data = csv.reader(out)
data = [row for row in data]
out.close()
print data
我得到的错误是:
Line 3 in module,
out = open('C:\Python27\Work\test.csv')
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\\Python27\\work\test.csv'
我很困惑,因为在IOError中它显示两个反斜杠(\)而不是一个,这很奇怪。
我尝试将模式设置为'r'和'rb',但没有任何效果。
当我使用不同的csv文件时,一切正常,我得到了所需的输出。
答案 0 :(得分:1)
问题是\t
被解释为制表符。有两种方法可以解决此问题:
变化:
'C:\Python27\Work\test.csv'
到原始字符串
r'C:\Python27\Work\test.csv'
或者逃避反斜杠:
'C:\\Python27\\Work\\test.csv'
答案 1 :(得分:-1)
两个错误:
out = open('C:\\Python27\\Work\\test.csv')
data
变量时,您将列表分配给csv-file对象。更改变量名称,如下所示:my_data = [row for row in data]