阅读rho分隔文件

时间:2016-04-22 15:22:47

标签: python pandas character-encoding delimited

我正在尝试使用Pandas读取分隔文件。分隔符是希腊字符,小写字母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þ3711þþþ1459120422 03-28-2016-00:21:09þ0þ3893600þ7352234þ290743769þ55727503þ1þ1x1þ1602646þ117915815þ68þþ31þ0.0þ501012þ0þ3711þþþ1459120869

1 个答案:

答案 0 :(得分: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并且在帖子中感到困惑?