在Python中读取csv文件时如何定义列标题

myC*_*one 4 python csv

我有一个逗号分隔值表,我想用Python阅读.我需要做的是首先告诉Python不要跳过第一行,因为它包含标题.然后我需要告诉它将数据读入列表而不是字符串,因为我需要从数据中构建一个数组,并且第一列是非整数(行标题).

总共有11列和5行.
这是表的格式(除了没有行空格):

col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11

w0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10        
w1  1, 2, 3, 4, 5, 6, 7, 8, 9, 10    
w2  1, 2, 3, 4, 5, 6, 7, 8, 9, 10   
w3  1, 2, 3, 4, 5, 6, 7, 8, 9, 10 
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?任何帮助是极大的赞赏!

Dav*_*d Z 27

您可以将此csv模块用于此类事情.它将在每一行中读取表示不同字段的字符串列表.

你究竟想要如何使用它取决于你以后如何处理数据,但是你可以考虑制作一个Reader对象(来自csv.reader()函数),调用next()它一次得到第一行,即标题,以及然后迭代循环中的其余行for.

r = csv.reader(...)
headers = r.next()
for fields in r:
    # do stuff
Run Code Online (Sandbox Code Playgroud)

如果你打算把字段放到dict中,你可以使用DictReader(而且该类将自动从第一行获取字段名称,因此你可以构建它在循环中使用它).