我有兩個csv文件File1和File2。我基本上修改File2以匹配File1中的列。在最後一步中,我需要截斷修改後的File2,使其只有前50列。我寫了這個程序。'usecols'在寫入csv時不工作
import pandas as pd
df1 = pd.read_csv('C:/Users/merged_34_final_ordered.csv', dtype = 'unicode')
df2 = pd.read_csv('C:/Users/merged_52_raw_ip_2016_06_30.csv', dtype = 'unicode')
df3 = df2.T.reindex(df1.columns).T
df3['idSite'] = pd.Series([52 for x in range(len(df3.index))], index=df3.index)
df3.to_csv('C:/Users/merged_52_raw_ip_2016_06_30_reordered.csv',usecols = list(range(50)),index=False)
這似乎並沒有工作,因爲它不會截斷文件。只有在read_csv期間添加它纔有效。
顯然,這並不需要索引我猜。因爲我得到錯誤'KeyError:'沒有[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 ,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43號決議,[44,45,46,47,48,49]]在[列]中' –
在Python 2中,'range(50)'已經是一個列表,所以'list(range(50))'是一個列表包含一個包含50個元素的列表。做'columns = range(50))'而不是'columns = list(range(50)))''。 –
我做了更改。還是一樣的錯誤。 –