pandas 读取带有多个工作表和不同标题偏移量的 Excel 工作表

乔治·海勒

我必须在包含多张工作表的 Pandas 中阅读 Excel 工作表。不幸的是,标题开始之前的空白行数似乎不同:

pd.read_excel('foo.xlsx', header=[2,3], sheet_name='first')
pd.read_excel('foo.xlsx', header=[1,2], sheet_name='second')

有没有一种优雅的方法来解决这个问题并将 Excel 读入一个带有包含每个工作表名称的附加列的 pandas.Dataframe ?

即如何

pd.read_excel(file_name, sheet_name=None)

传递不同的标题参数或至少选择前 2 个(非空)行作为标题?

编辑

在 python pandas 中动态跳过 excel 的顶部空白行似乎是相关的,但不是解决方案,因为只接受第一个标题。

编辑2

确切的文件结构说明:

... (varying number of empty rows)
__irrelevant_row__
HEADER_1
HEADER_2

目前它是 1 或 0 空行。但正如评论中指出的那样,如果这能更有活力,那就太好了。

乌瓦尔

我确信这可以以更简洁的方式完成,但是实现(我认为)您想要的方法是:

import openpyxl
import pandas as pd
book = openpyxl.load_workbook(PATH_TO_FILE)
for sh in book.sheetnames:
    a = pd.DataFrame(book[sh].values).dropna(how='all').reset_index(drop=True)
    a.columns = a.iloc[1]
    a = a.iloc[2:]
    a.iloc[0].index.name=sh
    a["sheet"] = a.iloc[0].index.name
    try:
        b = b.append(a)
    except NameError:
        b = a.copy()
b.iloc[0].index.name = ''
print(b)
#  header1 header2   sheet
#2       1       2   first
#3       3       4   first
#2       1       2  second
#3       3       4  second
#2       1       2     3rd
#3       3       4     3rd

不幸的是,我不知道它如何与您的实际数据交互,但我确实希望这对您的探索有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何按工作表名称解析 Excel 工作表 (Pandas)

来自分类Dev

使用pandas更改excel工作表的名称

来自分类Dev

如何将 dfs 导出到带有多个工作表和不同工作表名称的 excel 熊猫

来自分类Dev

如何让 Pandas Excel writer 附加到工作簿中的现有工作表而不是创建新工作表?

来自分类Dev

使用Pandas将Excel工作表(Listobject)读入python

来自分类Dev

使用Pandas将Dataframe行写入Excel工作表

来自分类Dev

使用Pandas和Xlsxwriter在Excel中增加不同工作表上的列宽度

来自分类Dev

使用pandas和openpyxl在工作簿的2个Excel工作表中匹配值

来自分类Dev

无法读取Excel工作表

来自分类Dev

遍历Excel工作表

来自分类Dev

筛选Excel工作表

来自分类Dev

如何使用索引而不是pandas.read_excel的名称来读取Excel工作表?

来自分类Dev

Excel:遍历不同的工作表

来自分类Dev

Excel PageSetup多个工作表

来自分类Dev

参考多个Excel工作表

来自分类Dev

VLOOKUP和IF在多个Excel工作表中

来自分类Dev

Python Pandas数据框在Excel工作表中读取确切的指定范围

来自分类Dev

从Python将Excel文件读取到内存中并将工作表传递给Pandas

来自分类Dev

Excel自动创建带有工作表副本和今天日期的新工作表

来自分类Dev

大量偏移到整个 Excel 工作表

来自分类Dev

OpenXML:XML和Excel工作表具有不同的值

来自分类Dev

OpenXML:XML和Excel工作表具有不同的值

来自分类Dev

根据数据框中的索引值将Pandas数据框拆分为多个Excel工作表

来自分类常见问题

如何使用Pandas将新工作表保存在现有的Excel文件中?

来自分类Dev

使用python pandas将现有的Excel工作表与新的数据框追加

来自分类Dev

打印Excel工作表/工作簿

来自分类Dev

复制并粘贴Excel工作表

来自分类Dev

Windows窗体+ Excel工作表

来自分类Dev

从Excel工作表计算值

Related 相关文章

  1. 1

    如何按工作表名称解析 Excel 工作表 (Pandas)

  2. 2

    使用pandas更改excel工作表的名称

  3. 3

    如何将 dfs 导出到带有多个工作表和不同工作表名称的 excel 熊猫

  4. 4

    如何让 Pandas Excel writer 附加到工作簿中的现有工作表而不是创建新工作表?

  5. 5

    使用Pandas将Excel工作表(Listobject)读入python

  6. 6

    使用Pandas将Dataframe行写入Excel工作表

  7. 7

    使用Pandas和Xlsxwriter在Excel中增加不同工作表上的列宽度

  8. 8

    使用pandas和openpyxl在工作簿的2个Excel工作表中匹配值

  9. 9

    无法读取Excel工作表

  10. 10

    遍历Excel工作表

  11. 11

    筛选Excel工作表

  12. 12

    如何使用索引而不是pandas.read_excel的名称来读取Excel工作表?

  13. 13

    Excel:遍历不同的工作表

  14. 14

    Excel PageSetup多个工作表

  15. 15

    参考多个Excel工作表

  16. 16

    VLOOKUP和IF在多个Excel工作表中

  17. 17

    Python Pandas数据框在Excel工作表中读取确切的指定范围

  18. 18

    从Python将Excel文件读取到内存中并将工作表传递给Pandas

  19. 19

    Excel自动创建带有工作表副本和今天日期的新工作表

  20. 20

    大量偏移到整个 Excel 工作表

  21. 21

    OpenXML:XML和Excel工作表具有不同的值

  22. 22

    OpenXML:XML和Excel工作表具有不同的值

  23. 23

    根据数据框中的索引值将Pandas数据框拆分为多个Excel工作表

  24. 24

    如何使用Pandas将新工作表保存在现有的Excel文件中?

  25. 25

    使用python pandas将现有的Excel工作表与新的数据框追加

  26. 26

    打印Excel工作表/工作簿

  27. 27

    复制并粘贴Excel工作表

  28. 28

    Windows窗体+ Excel工作表

  29. 29

    从Excel工作表计算值

热门标签

归档