python-熊猫:如何指定开始行以提取数据

我正在使用Pandas库和Python.

我有一个Excel文件,该文件在Excel工作表的顶部具有一些标题信息,而我不需要提取这些数据.

但是,标题信息可能需要更长的行,因此无法预测需要多长时间.

因此,我的数据提取应从显示“ ID”的位置开始…
对于这种特殊情况,它从第5行开始,但是可以更改.

该图像显示底部(我在第5行后变灰以获取敏感信息).

如何将其逻辑化(跳过标题并跳至第5行)?
模式应为,行标题从“ ID,EMP_ID”等开始.

enter image description here

with open('File.xls') as fp:
    skip = next(filter(
        lambda x: x.startswith('ID'),
        enumerate(fp)
    ))[0]

df = pd.read_excel('File.xls', usercols=['ID', 'EMP_ID'], skiprows=skip)
print df

解决方法:

您可以手动检查标题行,然后使用read_csvs关键字参数skiprows.

with open('data.csv') as fp:
    skip = next(filter(
        lambda x: x[1].startswith('ID'),
        enumerate(fp)
    ))[0]

然后跳过行:

df = pandas.read_csv('data.csv', skiprows=skip)

这样,您可以支持任意长度的标头部分.

对于Python 2:

import itertools as it

with open('data.csv') as fp:
    skip = next(it.ifilter(
        lambda x: x[1].startswith('ID'),
        enumerate(fp)
    ))[0]

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...