我有一个包含大约1500行和8列的大型CSV文件。我想创建一个新的CSV文件,减少记录数,即只有第一个CSV中的某些行。我在列表中有所需的行号。如何在不影响主CSV文件的情况下提取所需的行。我想用python做这个。
答案 0 :(得分:0)
您可以使用numpy.loadtxt
:
import numpy as np
data = np.loadtxt('yourfile.csv', delimiter=',')
row = data[3] # fourth row e.g.
编辑: 纳入以上内容:
rowlist = [0, 5, 99]
with open('output.txt', w) as out:
for rowindex in rowlist:
out.write(data[rowindex])
答案 1 :(得分:0)
您可以使用csv.DictReader或csv.reader来读取文件,使用extrasaction ='ignore'创建带有您喜欢的标题的输出csv。如果要保留所有列,只需将字段标题从输入复制到输出规范。我只是给出一个更一般的案例。将文件输出到新的csv文件时,它只会输出您在输出标头中指定的列。所有其他列都将被删除。您的输出循环将使用您指定的行指示符。输出文件的第1行将是新标题。
for rowindex in rowlist:
outfile.writerow(indata[rowindex])