将列中的列提取到另一个文件

时间:2015-10-19 11:16:41

标签: python

我有一个包含17列和几百行的文本文件。如何仅将nr2,14和16列提取到另一个只有3列python脚本的文件?我想将一个包含17列的文件创建到一个只有3个

的新文件中

2 个答案:

答案 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)