如何读取 csv 文件行并将行中的元素拆分为列表列表?

新手上路,请多包涵

我有 csv 文件。当我用 VisualStudio 打开它时,我有这样的东西:

 nr1  nr2  nr3  name  place
10  01  02  Jack  New York
10  01  03  David  London
10  02  01  Jasmine  New Jersey

每行元素之间有两个空格,地方名称有一个空格。

当我用 Excel 打开 csv 文件时,每隔一列只有元素。

我不知道如何读取此 csv 文件以使每一行都成为这样的元素列表:

 my_list = [

['10','01','02','Jack','New York']
['10','01','03','David','London']
['10','02','01','Jasmine','New Jersey']]

因为我想在这之后做一些循环:

 for line in my_list:
     nr1 = line[0]
     nr2 = line[1]
     nr3 = line[2]
     name = line[3]
     place = line[4]

在这里,我将为每一行创建一个类的实例。

我怎样才能做到这一点?

原文由 JeyKey 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 707
2 个回答

它们是 制表符分隔的 csv 文件。这意味着每列由制表符 (’\t’) 分隔。

下面的代码应该可以工作。

更新:使用 .rstrip() 删除 \n

 import csv

f = open('data.csv')

data = []
for line in f:
    data_line = line.rstrip().split('\t')
    data.append(data_line)

print data

原文由 Haha TTpro 发布,翻译遵循 CC BY-SA 3.0 许可协议

试试这个,使用 csv 模块及其 reader() 方法:

 import csv

f = open('file.csv')

the_data = list(csv.reader(f, delimiter r'\t'))[1:]

原文由 Ajax1234 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题