需要帮助格式化.txt文件并放入数据框

时间:2017-02-02 21:05:31

标签: python csv pandas dataframe formatting

我有一个.txt文件,格式如下:

CIK|Company Name|Form Type|Date Filed|Filename
--------------------------------------------------------------------------------
1000032|BINCH JAMES G|4|2016-11-07|edgar/data/1000032/0001209191-16-148633.txt
1000032|BINCH JAMES G|4|2016-12-02|edgar/data/1000032/0001209191-16-153119.txt
1000045|NICHOLAS FINANCIAL INC|10-Q|2016-11-09|edgar/data/1000045/0001193125-16-763849.txt
1000045|NICHOLAS FINANCIAL INC|4|2016-10-04|edgar/data/1000045/0001000045-16-000006.txt

我想要做的是导入此信息,然后将其插入到数据框中,每个部分都在' |'之后。在一个新列中,每个新行都有一个新条目。我有将.csv和格式良好的文件导入数据帧的经验,但从来没有处理过这个混乱的东西。如果你想要.txt文件来玩,请告诉我。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

假设您有以下文本文件:

CIK|Company Name|Form Type|Date Filed|Filename
--------------------------------------------------------------------------------
1000032|BINCH JAMES G|4|2016-11-07|edgar/data/1000032/0001209191-16-148633.txt
1000032|BINCH JAMES G|4|2016-12-02|edgar/data/1000032/0001209191-16-153119.txt
1000045|NICHOLAS FINANCIAL INC|10-Q|2016-11-09|edgar/data/1000045/0001193125-16-763849.txt
1000045|NICHOLAS FINANCIAL INC|4|2016-10-04|edgar/data/1000045/0001000045-16-000006.txt

解决方案:

df = pd.read_csv(filename, sep='|', skiprows=[1], parse_dates=['Date Filed'])

结果:

In [94]: df
Out[94]:
       CIK            Company Name Form Type Date Filed                                     Filename
0  1000032           BINCH JAMES G         4 2016-11-07  edgar/data/1000032/0001209191-16-148633.txt
1  1000032           BINCH JAMES G         4 2016-12-02  edgar/data/1000032/0001209191-16-153119.txt
2  1000045  NICHOLAS FINANCIAL INC      10-Q 2016-11-09  edgar/data/1000045/0001193125-16-763849.txt
3  1000045  NICHOLAS FINANCIAL INC         4 2016-10-04  edgar/data/1000045/0001000045-16-000006.txt

In [95]: df.dtypes
Out[95]:
CIK                      int64
Company Name            object
Form Type               object
Date Filed      datetime64[ns]
Filename                object
dtype: object