首先,我只想说我是非常对Python的新手,或任何类型的编程。另外,我不知道该把什么作为标题,对不起。所以我打开了这个csv文件,然后我剥离并分割逗号,然后只是检查,我打印出来,它给了我这样的(只是一些示例数字):
['1','2','3','4']
['5','6','7','8']
['9','10','11','12']
我想知道是否有一种方法可以索引行而不是列,例如,如果我尝试打印my_list [0]它会给我 1 五 9
而不是['1','2','3','4']。我的实际问题是我需要将csv数据转换为一行元组,并将元素转换为整数,并能够选择任何行进行进一步处理。
我不熟悉我在这个网站上看过的很多模块。如果可能的话,我想要一个非常基本的编码帮助。(虽然它有时效率很低)
谢谢!
答案 0 :(得分:2)
您可以使用相当简单的列表推导将列表转换为您想要的格式(在从csv获取列表之后),使用zip(*my_list)
转置它:
>>> my_list = [['1','2','3','4'],
... ['5','6','7','8'],
... ['9','10','11','12']]
>>> [[int(x) for x in row] for row in zip(*my_list)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
答案 1 :(得分:1)
此答案遵循您对stranac提供的答案的评论,并尝试根据需要创建my_list
my_list = []
with open('Test.csv', 'r') as csvfile:
for lines in csvfile:
temp_lines = lines.strip().split(',')
my_list.append(temp_lines)
print(my_list)
但是我建议您使用python中已有的csv模块。 您可以看到基本示例here
您可以这样做:
import csv
my_list = []
with open('Test.csv') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
my_list.append(row)
print(my_list)