2016-04-22 163 views
3

我想用大熊貓閱讀分隔文件。分隔符是希臘字符,小寫rho(þ)。閱讀rho分隔文件

我正在努力定義正確的read_table參數,以便生成的數據幀格式正確。

有沒有人有任何經驗或建議呢?

的文件的一個例子是下面

TimeþUser-IDþAdvertiser-IDþOrder-IDþAd-IDþCreative-IDþCreative-VersionþCreative尺寸-IDþSite-IDþPage-IDþCountry-IDþState/ProvinceþBrowser-IDþBrowser-VersionþOS-IDþDMA-IDþCity-IDþZip -CodeþSite-DataþTime-UTC-SEC 03-28-2016-00:50:03þ0þ3893600þ7786669þ298662779þ67802437þ1þ300x250þ1722397þ125754620þ68þþ30þ0.0þ501012þ0þ3711þþþ1459122603 03-28-2016-00:24:29þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ3711þþþ1459121069 03-28-2016-00:13:42þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ37 11þþþ1459120422 03-28-2016-00:21:09þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ3711þþþ1459120869

+2

所以你說'read_table(file,sep =r'ρ')'不起作用?或者使用額外的參數'encoding ='utf-8'或'encoding ='utf-16''? – EdChum

+0

是的,沒錯。 –

+0

我在一臺Windows機器上,這可能沒有幫助,但我想先檢查一下我的語法是否正確。已經嘗試了以下。數據= pd.read_table('C:\ Users \ robin.sheridan \ Documents \ RCode \ NetworkImpression_5684_03-28-2016',sep =r'ρ',nrows = 10,encoding ='pd ' utf-16') print(data)' –

回答

2

我覺得發生了什麼事是,C發動機沒有在這裏工作。如果我們切換到更強大但更慢的Python引擎,它似乎表現得很好。例如,使用默認的C引擎:

>>> df = pd.read_csv("out.rsv",sep="þ") 
>>> df.iloc[:,:5] 
    TimeþUser-IDþAdvertiser-IDþOrder-IDþAd-IDþCreative-IDþCreative-VersionþCreative-Size-IDþSite-IDþPage-IDþCountry-IDþState/ProvinceþBrowser-IDþBrowser-VersionþOS-IDþDMA-IDþCity-IDþZip-CodeþSite-DataþTime-UTC-Sec 
0 03-28-2016-00:50:03þ0þ3893600þ7786669þ29866277...                                        
1 03-28-2016-00:24:29þ0þ3893600þ7352234þ29074376...                                        
2 03-28-2016-00:13:42þ0þ3893600þ7352234þ29074376...                                        
3 03-28-2016-00:21:09þ0þ3893600þ7352234þ29074376...  

但與Python:

>>> df = pd.read_csv("out.rsv",sep="þ", engine="python") 
>>> df.iloc[:,:5] 
        Time User-ID Advertiser-ID Order-ID  Ad-ID 
0 03-28-2016-00:50:03  0  3893600 7786669 298662779 
1 03-28-2016-00:24:29  0  3893600 7352234 290743769 
2 03-28-2016-00:13:42  0  3893600 7352234 290743769 
3 03-28-2016-00:21:09  0  3893600 7352234 290743769 

..但嚴重的是,þ?您正在使用+作爲分隔符?唯一的搜索命中谷歌給我的「rho分隔文件」都與這個問題有關!

請注意,你說小寫rho,但它看起來像刺我..也許這是一個小寫字母rho在你的結尾,並在發佈中感到困惑?

+0

是的,我的壞,它的刺。 (只有這樣,我才能看到它是一個低劣的文本編輯器......) 奇怪的是,那仍然不起作用。我將在週末嘗試我的Mac。強烈懷疑我的Windows機器和愚蠢的分離器一樣是個問題。 (顯然不是我的選擇) 感謝您的幫助! –