【发布时间】:2022-07-01 21:33:25
【问题描述】:
我想使用 pandas 读取纯文本文件。 我有没有分隔符和不同宽度的条目,如下所示:
59967Y98Doe John 6211100004545SO20140314- 00024278
N0546664SCHMIDT-PETER 7441100008300AW20140314- 00023643
G4894jmhTAKLONSKY-JUERGEN 4211100005000TB20140315 00023882
34875738PODESBERG-SCHUMPERTS6211100003671SO20140315 00024622
- 1-8 是一个字符串。
- 9-28 是一个字符串。
- 29-31 是数字。
- 32-34 是数字。
- 35-41 是数字。
- 42-43 是一个字符串。
- 44-51 是日期 (yyyyMMdd)。
- 52 是减号或空白
- Rest 是没有小数点的货币金额(最后 2 位总是在小数点之后)。例如:- 00024278 = -242.78 欧元
我知道有pd.read_fwf
有一个参数width。我可以这样做:
pd.read_fwf(StringIO(txt), widths=[8], header="Peronal Nr.")
但是我怎样才能读取具有不同列宽的文件呢?
【问题讨论】: