Python 高效检索csv文件中的特定列
我试图检索csv文件中的7个特定列,每列检索100次。这就是我一直在做的。我知道这是低效的,但如果我只知道如何添加100次,它似乎会起作用Python 高效检索csv文件中的特定列,python,csv,Python,Csv,我试图检索csv文件中的7个特定列,每列检索100次。这就是我一直在做的。我知道这是低效的,但如果我只知道如何添加100次,它似乎会起作用 data_file_path = '2001-1.csv' counter = 0 col0 = [] col1 = [] col2 = [] col13 = [] col16 = [] col17 = [] col18 = [] with open(data_file_path, 'r', encoding="latin-1") as fin:
data_file_path = '2001-1.csv'
counter = 0
col0 = []
col1 = []
col2 = []
col13 = []
col16 = []
col17 = []
col18 = []
with open(data_file_path, 'r', encoding="latin-1") as fin:
splitted = csv.reader(fin, delimiter = ',')
next(splitted)
for col in splitted:
counter += 1
col0.append(col[0])
if(counter == 100):
counter = 0
col1.append(col[1])
if(counter == 100):
counter = 0
col2.append(col[2])
if(counter == 100):
counter = 0
col13.append(col[13])
if(counter == 100):
counter = 0
col16.append(col[16])
if(counter == 100):
counter = 0
col17.append(col[17])
if(counter == 100):
counter = 0
col18.append(col[18])
if(counter == 100):
counter = 0
break
flight_data = [col0, col1, col2, col13, col16, col17, col18]
但是如果知道如何有效地执行,那就太好了。
col
这是一个用词不当的地方,因为您正在对行和列进行迭代
使用字典,并保留列的列表。然后,您可以将代码简化为一个漂亮的小嵌套循环
idx = [0, 1, 2, 13, 16, 17, 18]
data = {k : [] for k in idx}
with open(data_file_path, 'r', encoding="latin-1") as fin:
reader = csv.reader(fin, delimiter = ',')
next(reader)
for row in reader:
for i in idx:
data[i].extend([row[i]] * 100)
col
这是一个用词不当的地方,因为您正在对行和列进行迭代
使用字典,并保留列的列表。然后,您可以将代码简化为一个漂亮的小嵌套循环
idx = [0, 1, 2, 13, 16, 17, 18]
data = {k : [] for k in idx}
with open(data_file_path, 'r', encoding="latin-1") as fin:
reader = csv.reader(fin, delimiter = ',')
next(reader)
for row in reader:
for i in idx:
data[i].extend([row[i]] * 100)
如果你的问题得到充分解决,请。如果你的问题得到充分解决,请。