使用CSV模块从电子表格输出一些行

时间:2014-02-11 19:19:17

标签: python csv

我在使用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文件时,一切正常,我得到了所需的输出。

2 个答案:

答案 0 :(得分:1)

问题是\t被解释为制表符。有两种方法可以解决此问题:

变化:

 'C:\Python27\Work\test.csv'

到原始字符串

 r'C:\Python27\Work\test.csv'

或者逃避反斜杠:

 'C:\\Python27\\Work\\test.csv'

答案 1 :(得分:-1)

两个错误:

  1. 在Windows中,您需要使用反斜杠:out = open('C:\\Python27\\Work\\test.csv')
  2. 默认情况下,只打开文件,当您将列表分配给data变量时,您将列表分配给csv-file对象。更改变量名称,如下所示:my_data = [row for row in data]