阅读rho分隔文件
我想用大熊猫阅读分隔文件。分隔符是希腊字符,小写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
我觉得发生了什么事是,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在你的结尾,并在发布中感到困惑?
是的,我的坏,它的刺。 (只有这样,我才能看到它是一个低劣的文本编辑器......) 奇怪的是,那仍然不起作用。我将在周末尝试我的Mac。强烈怀疑我的Windows机器和愚蠢的分离器一样是个问题。 (显然不是我的选择) 感谢您的帮助! –
所以你说'read_table(file,sep =r'ρ')'不起作用?或者使用额外的参数'encoding ='utf-8'或'encoding ='utf-16''? – EdChum
是的,没错。 –
我在一台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)' –