将数字csv的每一行变成一个单独的列表

时间:2019-04-18 22:46:58

标签: python python-3.x

我有一个名为sales_qty.csv的文件,其中包含以下内容:

25,64,23,45,14
12,82,19,34,63
54,22,17,43,35

我想将每一行变成一个列表。

到目前为止,我已经尝试了以下代码:

import csv

with open('sales_qty.csv', 'r') as quantity:
    read = csv.reader(quantity)

    for row in read:
        lst1 = list(row)

    print(lst1)

结果为['54','22','17','43','35']。
因此,文件的最后一行被分配给列表。我正在尝试将每一行分配给自己的列表。但是我不知道从哪里开始。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

您有正确的主意,但每次阅读一行都将覆盖lst1。结果,lst1将始终显示最后一行。

一种方法是保留列表列表:

results = []
for row in read:
  results.append(list(row))

print(results)
# [['25', '64', '23', '45', '14'], ['12', '82', '19', '34', '63'], ['54', '22', '17', '43', '35']]

您可以打印整个列表,如上所示。列表中的项目也可以通过其索引进行寻址:

print(results[0])
# ['25', '64', '23', '45', '14']

print(results[1])
# ['12', '82', '19', '34', '63']

# and so on...

Read up on Python lists