2014-03-13 56 views
-3

我有一個包含大約1500行和8列的大型CSV文件。我想創建一個新的CSV文件,其記錄數量減少,即只有來自第一個CSV的特定行。我有一個列表中所需的行號。如何在不影響主CSV文件的情況下提取所需的行。我想用python來做到這一點。使用python從csv文件中提取某些行

+0

「我在列表中有所需的行數」。這到底是什麼意思? – Drewness

+0

我有從原始CSV形式的必需行的痕跡。 –

+0

究竟涉及多少個CSV文件?你開始說你有一個你想要改變的大個子,然後繼續提到第一個和後面的主要的一個 - 這些其他人在哪裏進來? – martineau

回答

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]) 
0

您可以使用csv.DictReader或csv.reader讀取該文件,創建輸出CSV您更喜歡使用extrasaction的標題='忽略'。如果要保留所有列,只需將輸入中的字段標題複製到輸出規範。我只是給出一個更一般的情況。將文件輸出到新的csv文件時,它只會輸出您在輸出標題中指定的列。所有其他列將被刪除。您的輸出循環將使用您指定的行指示符。輸出文件的第1行將成爲新的標題。

for rowindex in rowlist: 
    outfile.writerow(indata[rowindex]) 
相關問題