如何在pandas中读取修复宽度格式文本文件

use*_*440 10 python pandas

我刚抓到熊猫,我正在弄清楚如何读取文件.该文件来自WRDS数据库,是一直追溯到20世纪60年代的SP500成分列表.我检查了文件,无论我使用'read_csv'导入它,我仍然无法正确显示数据.

df = read_csv('sp500-sb.txt')

df

<class 'pandas.core.frame.DataFrame'>
Int64Index: 1231 entries, 0 to 1230
Data columns: gvkeyx      from      thru     conm
                                        gvkey      co_conm
...(the column names)
dtypes: object(1)
Run Code Online (Sandbox Code Playgroud)

上面的输出块是什么意思?什么都有帮助

Woo*_*per 12

在pandas中添加了一个用于处理固定宽度文件格式的函数,

pandas.read_fwf()

  1. API参考

  2. 其他问题的一个例子


use*_*440 8

韦斯在一封电子邮件中回答了我.干杯.

这是一个固定宽度格式的文件(不像通常那样用逗号或制表符分隔).我意识到大熊猫没有像R那样的固定宽度的阅读器,尽管可以很容易地制作一个.我会看看我能做什么.在此期间,如果您可以以其他格式导出数据(如csv - 真正以逗号分隔),您将能够使用read_csv读取它.我怀疑有一些unix魔法可以将FWF文件转换为CSV文件.

我建议您在github上关注此问题,因为您的电子邮件即将从我的收件箱中消失:)

https://github.com/pydata/pandas/issues/920

最好的,韦斯

  • 跟进答案.读取修复宽度格式现在由read_fwf()实现.请参阅http://pandas.pydata.org/pandas-docs/dev/io.html#files-with-fixed-width-columns (8认同)