有一个多行30列的CSV文件.我想要的是从第3、6和15列获取数据,然后将其保存在列表中.
使用Python,我如何才能做到这一点,从而不必将整个文件加载到内存中?
有什么建议吗?
有一个多行30列的CSV文件.我想要的是从第3、6和15列获取数据,然后将其保存在列表中.
使用Python,我如何才能做到这一点,从而不必将整个文件加载到内存中?
有什么建议吗?
我猜在Python中,你可以使用‘iterTools’模型中的‘islice’函数. 以下是此操作的示例代码:
import csv
from itertools import islice
columns_to_extract = [2, 5, 14]
with open('filename.csv', 'r') as f:
reader = csv.reader(f)
extracted_data = [[] for _ in range(len(columns_to_extract))]
for row in islice(reader, 1, None): # Skip header row (if any)
for i, col_idx in enumerate(columns_to_extract):
extracted_data[i].append(row[col_idx])