2016-11-04 83 views
0

我只需要輸出一個從熊貓數據框到CSV文件的特定行。換句話說,輸出只需要X行中的數據,用逗號隔開一行,沒有別的。我遇到的to_CSV問題是我無法找到一種方法來處理數據;我總是收到一個額外的列數。熊貓CSV只輸出某一行中的數據(to_csv)

data.to_csv(filename, index=False) 

給出

0,1,2,3,4,5 
X,Y,Z,A,B,C 

第一行僅僅是一個列計數,並且是數據幀,而不是數據的一部分。我只需要這些數據。有沒有辦法簡單地做到這一點,還是我需要擺脫熊貓,並在Python中進一步操縱數據?

注意:前面的例子只有一行數據,但是也有選擇行的語法。

回答

0

您可以使用此

data.to_csv(filename, index=False, header=False)

header表示:

標題:布爾或字符串列表,默認值是true 寫出列名。如果給定的字符串列表被假定爲列名

你可以找到在pandas.DataFrame.to_csv

1

更具體的信息你可以試試這個別名:

df = pd.DataFrame({'A': ['a','b','c','d','e','f'], 'B': [1,2,3,4,5,6]}) 
    A B 
0 a 1 
1 b 2 
2 c 3 
3 d 4 
4 e 5 
5 f 6 

您可以選擇你想要的行,在這種情況下,我選擇了一行index 1

df.iloc[1:2].to_csv('test.csv', index=False, header=False) 

輸出到csv文件看起來像這樣(確保您使用header=False):

b 2 
0

好像你是從現有的數據幀尋找過濾數據,並將其寫入.csv文件。

因爲你需要過濾你的數據。然後應用to_csv命令。

這裏是命令

df[df.index.isin([3,4])]

,如果這是你的數據

>>> df 
    A B 
0 X 1 
1 Y 2 
2 Z 3 
3 A 4 
4 B 5 
5 C 6 

那麼這將是您的預期過濾的內容。那麼你可以在其上應用to_csv

>>> df[df.index.isin([3,4])] 
    A B 
3 A 4 
4 B 5