我有一个包含17列和几百行的文本文件。如何仅将nr2,14和16列提取到另一个只有3列python脚本的文件?我想将一个包含17列的文件创建到一个只有3个
的新文件中答案 0 :(得分:0)
您可以使用nympy
:
import csv
import numpy as np
data = np.array(x for x in csv.reader(open("your_file")))
data[0::, column_number]
^^^
replace column_number with the number you want
答案 1 :(得分:0)
以下内容适用于标准Python,它使用Python的csv
模块自动处理列:
import csv
with open('input.txt', 'rb') as f_input, open('output.txt', 'wb') as f_output:
csv_input = csv.reader(f_input)
csv_output = csv.writer(f_output)
csv_output.writerows([cols[1], cols[13], cols[15]] for cols in csv_input)
使用Python 2.7.6进行测试。 Python中的注释列表从索引0
开始。
对于Python 3,请使用以下命令:
import csv
with open('input.txt', 'r') as f_input, open('output.txt', 'w', newline='') as f_output:
csv_input = csv.reader(f_input)
csv_output = csv.writer(f_output)
csv_output.writerows([cols[1], cols[13], cols[15]] for cols in csv_input)