【问题标题】:Python Merge Multiple Excel sheets to form a summary sheetPython合并多个Excel工作表以形成汇总表
【发布时间】:2018-10-31 23:38:09
【问题描述】:

我需要使用 Python 合并来自多个 Excel 工作表的数据以形成一个新的摘要工作表。我正在使用 pandas 来阅读 excel 表并创建新的摘要表。连接后,表格格式会丢失,即标题和边框。

  1. 有没有办法从具有格式的源工作表中读取并写入最终工作表。
  2. 如果 first 不可能,如何在连接后格式化数据

要连接的 Python 代码:

import pandas as pd
df = []
xlsFile = "some path excel"
sheetNames = ['Sheet1', 'Sheet2','Sheet3']
for nms in sheetNames:
    data = pd.read_excel(xlsFile, sheet_name = nms, header=None, skiprows=1)
    df.append(data)
final = "some other path excel "
df = pd.concat(df)
df.to_excel(final, index=False, header=None)

Sheet 1 Input Data

Sheet 2 Input Data

Sheet 3 Input Data

Summary Sheet output

【问题讨论】:

标签: excel python-3.x pandas


【解决方案1】:

你可以试试下面的代码:

df = pd.concat(pd.read_excel('some path excel.xlsx', sheet_name=None), ignore_index=True)

如果您设置 sheet_name=None,您可以一次读取工作簿中的所有工作表。

【讨论】:

    【解决方案2】:

    我建议你图书馆 xlrd (https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html?p=4966https://github.com/python-excel/xlrd) 这是一个很好的图书馆。

    from xlrd import open_workbook
    
    path = '/Users/.../Desktop/Workbook1.xls'
    wb = open_workbook(path, formatting_info=True)
    sheet = wb.sheet_by_name("Sheet1")
    cell = sheet.cell(0, 0) # The first cell
    print("cell.xf_index is", cell.xf_index)
    fmt = wb.xf_list[cell.xf_index]
    print("type(fmt) is", type(fmt))
    print("Dumped Info:")
    fmt.dump()
    

    另见: Using XLRD module and Python to determine cell font style (italics or not)How to read excel cell and retain or detect its format in Python(我从这个地址带来了上面的代码)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 1970-01-01
      相关资源
      最近更新 更多