Python 在固定宽度文件中读取时,熊猫不分隔前两列
我试图使用Pandas将固定宽度的文件读入Python,但前两列作为一列返回 以下是我试图读入的文件示例:Python 在固定宽度文件中读取时,熊猫不分隔前两列,python,pandas,fixed-width,Python,Pandas,Fixed Width,我试图使用Pandas将固定宽度的文件读入Python,但前两列作为一列返回 以下是我试图读入的文件示例: Some header information Date day value 01/01/2015 000001 3.14 01/02/2015 2 1.59 这是我的代码: import pandas as pd my_dat
Some header information
Date day value
01/01/2015 000001 3.14
01/02/2015 2 1.59
这是我的代码:
import pandas as pd
my_data = pd.read_fwf(my_file, skiprows=1)
但在检查my_数据时,
前两列没有分开:
> my_data.keys()
array(['Date day', 'value'])
我知道我的列都有15个字符的宽度——但是我有几个不同列数的文件,宽度
选项似乎期望已知的列数(例如[(0,15),(16,30),…])
),而不是能够指定宽度而不是列数
有人知道如何让pandas识别前两列是不同的吗?只要将其作为纯文本文件读入,您可能会获得更好的乐趣:
my_data=pd.read_csv(my_file,skiprows=1,sep='\s+')
我编辑了您发布的数据,因此代码显示了您描述的行为。请检查更改是否与您的真实数据一致。@unutbu感谢您解决了这个问题–显然,通过使值长于标题,这很容易复制。@user12202013:Ah--这很有见地。似乎FixedWidthReader.detect\u colspecs
方法不会忽略skiprows=1
指定的行。一种解决方法是打开文件,将文件句柄向前移动以跳过第一行,然后将文件句柄作为第一个参数传递给pd.read\u fwf
。