如何在不导入csv模块的情况下循环csv文件?

时间:2019-01-26 20:36:18

标签: python

我想从已经打开的csv文件中提取数据。对于每一行,我想提取第4、15和16列的数据(用逗号分隔)。如何在不导入任何新模块的情况下做到这一点?

2 个答案:

答案 0 :(得分:0)

这是一种简单的方法:

with open("file.csv") as f:
    for line in f:
        columns = line.split(",")
        # do stuff with columns[3], columns[14], columns[15]

答案 1 :(得分:0)

您将需要打开类似文件的对象(可以使用上下文管理器完成),如下所示:

如果您有这样的CSV文件

1,2,3
1,2,4

您可以使用readline函数在python中捕获这一行,并使用字符串函数split(),以便获得一个列表,列出每个子列的子字符串。

filename = 'file.csv'
with open(filename, 'r') as f:
    row = f.readline().split(',')
    print(row)
# output -> ["1", "2", "3"]

您也可以执行相同的操作,但是像

那样遍历文件
filename = 'file.csv'
with open(filename, 'r') as f:
    for line in f:
        row = line.split(',')
        print(row)
# output -> ["1", "2", "3"]
#           ["1", "2", "4"]

这是不使用CSV模块的简便方法。