【发布时间】:2017-12-06 23:28:39
【问题描述】:
我使用以下方法将 rpt 数据读取到 pandas:
import pandas as pd
df = pd.read_fwf("2014-1.rpt", skiprows=[1], nrows=150)
我其实是关注here 但是,对于某些列,分隔不准确。这是我得到的样本:
Country Order Date Device Category
UK 2014-01-03 Desktop Shoes
IT 2014-01-03 Desktop Shoes
FR 2014-01-04 Desktop Dress
FR 2014-01-04 Tablet Dress
US 2014-01-05 Desktop Bags
US 2014-01-06 Desktop Bags
UK 2014-01-07 Tablet Dress
例如,它将订单日期和设备列作为单个列读取。其实这只是一个例子,这样的栏目还有很多。 如何解决?你有什么主意吗? 实际上这些有问题的列可能有固定的宽度
【问题讨论】:
-
您检查过
read_fwf文档,尤其是colspecs 和delimiters 参数吗?如果 python 没有正确识别它们,您可能需要手动输入colspecs。 pandas.pydata.org/pandas-docs/stable/generated/… -
我试图用宽度来阅读它,我应该使用列名作为 colspecs 对吗?
-
colspecs 应该类似于 [(0,6), (8,15), ...] 取决于列的长度,每列一对整数。
-
哦好吧让我试试
-
所以我必须做到128列,没有简单的方法吧?