2017-04-01 34 views
0
def csv_reader(fileName): 
    usecols=['_id__$oid','payload','channel'] 
    io = pd.read_csv(fileName,sep=",",names=usecols) 
    df = pd.DataFrame(io,columns=['_id__$oid','payload','channel']) 
    print(df) 
    df.to_csv('trimmed.csv') 

if __name__=="__main__": 
    csv_path = "snort_alerts.csv" 
    csv_reader(csv_path) 

第一次爲python使用pandas。python:使用熊貓創建具有特定列的新數據幀

我想從基於列名稱的數據集中提取3列,並使用熊貓將其寫回另一個csv。數據幀io包含所有的列而不是指定的列usecols,我甚至嘗試通過指定列號來做同樣的事情。我錯過了什麼?

enter image description here

+1

你可以用'rename':'df.rename(列= { 'OLD_NAME':「 new_name'},inplace = True)' – titipata

+2

您錯誤地使用'names'。在'pd.read_csv'中,用'usecols = usecols'替換'names = usecols'。 – DyZ

回答

-1

這是你在找什麼?

xcolumns = ['_id__$oid','payload','channel'] 

io[xcolumns] 

儘管負投票,我認爲這是是用戶正在尋找

io = pd.read_csv("snort_alerts.csv",sep=",") 
df = io[['_id__$oid','payload','channel']] 
+0

爲什麼是負面投票?你可以解釋嗎 ? – user1043144