我正在尝试用python读取csv文件。csv文件有1400行。我使用以下命令打开csv文件:
import csv
import sys
f=csv.reader(open("/Users/Brian/Desktop/timesheets_9_1to10_5small.csv","rU"),
dialect=csv.excel_tab)
然后,我尝试循环该文件,使用以下命令从每行中提取第一个名称:
^{pr2}$我收到以下错误消息:
Traceback (most recent call last):
File "", line 3, in module
s=g[0]
IndexError: list index out of range
有没有人知道我为什么会收到这个错误消息,以及如何更正它?在
row和g指向一个空列表。我不知道这是否一定意味着它在文件中是空行,因为csv可能有其他问题。在
或者,正如Martijn指出的,Python的方法是使用枚举:
^{pr2}$您应该而不是以通用换行模式(
U
)打开文件。请改为以二进制模式打开文件:CSV做它的拥有新行处理,包括管理引号中的新行。在
接下来,用
print repr(row)
打印行,以验证是否获得了预期的输出。使用repr
而不是常规的字符串表示,可以向您展示更多关于您正在处理的对象的类型的信息,突出显示诸如字符串与整数('1'
与1
)等差异。在第三,如果您想选择一个字符串的一部分,直到一个分隔符,如逗号,使用^{} 或^{} :
^{pr2}$相关问题 更多 >
编程相关推荐