2014-02-25 171 views
17

我正在寫一個腳本,以減少頭大.xlsx文件爲CSV,然後寫一個新的CSV文件,只有基於標題名稱必需列。熊貓寫數據框列到csv

import pandas 
import csv 

df = pandas.read_csv('C:\\Python27\\Work\\spoofing.csv') 

time = df["InviteTime (Oracle)"] 
orignum = df["Orig Number"] 
origip = df["Orig IP Address"] 
destnum = df["Dest Number"] 

df.to_csv('output.csv', header=[time,orignum,origip,destnum]) 

我得到的錯誤是用代碼最後一位,和它說

ValueError: Writing 102 cols but got 4 aliases 

我敢肯定,我俯瞰一些愚蠢的事,但我讀過在to_csv熊貓網站上的文檔,我仍然無所適從。我知道我使用的是to_csv參數不正確,但我似乎無法讓我的頭我想的文檔周圍。

任何幫助表示感謝,謝謝!

回答

31

以選擇特定列的方式是這樣的 -

header = ["InviteTime (Oracle)", "Orig Number", "Orig IP Address", "Dest Number"] 
df.to_csv('output.csv', columns = header) 
+3

這裏是[從文檔信息(http://pandas.pydata.org/pandas-docs/stable/io.html#io- store-in-csv)的參數。 – tsroten

+0

似乎是列名中的不匹配。你可以用df.columns檢查你列 – user1827356

+0

感謝,得到它的工作!我是個傻瓜... –