首页 > 解决方案 > 读取带有两个标头的 Excel 文件作为数据框并生成一个新标头

问题描述

我有一个带有文件 extensin .xlsx 的 Excel 文件,我使用以下代码行将其读取为数据框

file = 'data.xlsx'
df = pd.read_excel(file, engine='openpyxl')

这个 excel 文件的问题是它有两个标题行,看起来简化为:

在此处输入图像描述

如您所见,数据字段的名称在收入方面不是唯一的,请参见第 3 行中的第一个标题。只有与第二个标题(第 5 行)结合,字段名称才变得唯一。

为了获得唯一的标题,我必须做什么,我自己定义标题名称,如下所示:

df = pd.DataFrame({'Name': ['company1', 'company2'],
               'div_yield': [10.00, 2.57],
               'Market_Cap': [200, 5000],
               'Reven_2020': [20, 8963],
               'Reven_2019': [15, 5558],
               'Reven_2018': [10, 9332]})

最后我不需要前 6 行,所以只要我能得到上面的结果,就可以跳过它们。

有什么建议么?提前泰。

标签: pythonexcelpandasdataframe

解决方案


嗨,我认为这可以成为您问题的答案,我得到了您想要的准确 df。希望一切都好。

import pandas as pd
file = 'file.xlsx'
df = pd.read_excel(file, engine='openpyxl',header = 2,skiprows = [3,4,5])
df=df.rename(columns = {'revenues':'Reven_2020','revenues.1':'Reven_2019','revenues.2':'Reven_2018'})
df
    Name      Market Cap    div_yield   Reven_2020  Reven_2019  Reven_2018
0   company1    200          10.00      20.000        15.000    10.000
1   company2    5000          2.57      8963          5558       9332

推荐阅读