Skip to main content
 首页 » 编程设计

python之根据可迭代对象中的索引列表访问项目

2025年05月04日14dyllove98

我有大约 4000 万行文本要解析,我想将每一行视为一个拆分字符串,然后使用我在方法中生成的数字列表请求多个切片(或下标,无论它们叫​​什么) .

# ... 
other_file = open('output.txt','w') 
list = [1, 4, 5, 7, ...] 
for line in open(input_file): 
    other_file.write(line.split(',')[i for i in list]) 

下标不能使用我已经展示过的这个生成器,但我想向分割线询问其中的多个条目,而不必在每一行中遍历列表。

抱歉,我知道这是一个简单的答案,但我就是想不出来。这么晚了!

请您参考如下方法:

CSV 模块可以帮助您

import csv 
reader = csv.reader(open(input_file, 'r')) 
writer = csv.writer(open(output_file, 'w')) 
fields = (1,4,5,7,...) 
for row in reader: 
    writer.writerow([row[i] for i in fields]) 

要进一步改进,请使用 context managers 打开文件