【问题标题】:How to define column headers when reading a csv file in Python在 Python 中读取 csv 文件时如何定义列标题
【发布时间】:2010-06-26 00:18:26
【问题描述】:

我有一个要在 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 

有没有办法做到这一点?非常感谢任何帮助!

【问题讨论】:

标签: python csv


【解决方案1】:

您可以将csv module 用于此类事情。它将在每一行中读取为代表不同字段的字符串列表。

您想如何使用它取决于您之后将如何处理数据,但您可以考虑创建一个Reader 对象(来自csv.reader() 函数),在其上调用next()一次获取第一行,即标题,然后在 for 循环中迭代剩余的行。

r = csv.reader(...)
headers = r.next()
for fields in r:
    # do stuff

如果您最终要将字段放入字典中,则可以使用 DictReader 代替(该类将自动从第一行获取字段名称,因此您可以构造它并使用它循环中)。

【讨论】:

    猜你喜欢
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多