python生成合并标题excel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python生成合并标题excel相关的知识,希望对你有一定的参考价值。

参考技术A 1、创建了一个Excel文件,并在第一行和第四行分别插入了两个DataFrame。
2、使用merge_range方法合并了A1到D1的单元格,并设置了合并后的标题样式。
3、最后使用writer.save()方法保存Excel文件。

使用 Python 提取和合并 Excel 数据

【中文标题】使用 Python 提取和合并 Excel 数据【英文标题】:Extracting and consolidating Excel data using Python 【发布时间】:2018-03-13 00:58:14 【问题描述】:

我有一个包含 40 张左右的 Excel (.xlsx) 文件。每个工作表具有相同的结构,但包含不同的数据。我想从每张纸中提取信息并将其合并为一张,每张纸上的信息一个接一个。我需要从中提取的信息有两个:

    工作表名称,始终位于单元格 E3 中 感兴趣的单元格区域,始终位于第 72-85 行和 E-V 列之间

此提取的信息将粘贴到合并工作表的第 2-15 行中,其中工作表名称位于一列中,所有其他信息位于其旁边的列中。然后,从下一张提取的信息将粘贴到第 16-29 行,依此类推。

我是 Python 新手,我正在运行 Python 3.6.1。我找到了有关如何使用 Python 组合 Excel 文件的解决方案,但没有找到用于从 Excel 工作表中的指定单元格中提取信息的解决方案。

任何指导都会非常有帮助。

更新 1:我设法将我的一张工作表的区域加载到数据框中。

import pandas as pd
cis = pd.ExcelFile(r"C:\mypath\myfile.xlsx") 
df1 = cis.parse('1. Consumers', skiprows=[0,1,2,3,4,5,6],parse_cols=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]).drop([13])

但是,我仍然必须将工作表名称添加到数据框中,然后在所有工作表上运行相同的循环,最后将每个工作表中的信息一起附加到一个数据框/文件中。

【问题讨论】:

所有工作表都有相同的列吗? @muazfaiz。是的。 设置 Power Query 需要 2 分钟,这是 2010 年和 2013 年的加载项,2016 年作为 Get 和 Transform 内置。 @teylyn 感谢您的提示。但是,我希望使用 Python 脚本来执行此操作,主要是因为它需要在不同的文件集中多次使用。 使用 Power Query 的另一个原因。它可以设置一次,然后在不同的文件集上重复多次。 【参考方案1】:

这应该足以让你开始:

xls = pd.ExcelFile('excel_file_path.xls')
for sheet in xls.sheet_names:
    df = pd.read_excel(file_name, sheetname=sheet)

如果您已经非常熟悉 excel,那么您会很快学会 pandas。您绝对应该考虑将 jupyter notebook 与 python 一起使用。 Jupyter notebook 本质上将创建一个类似于 UI 的电子表格,其中包含大量用于运行分析和操作数据的内置功能。

参考文献:

Use PANDAS to read multiple sheets from same workbook

Link to jupyter notebook documentation

Pandas tutorials

Practical business solutions with pandas for python

【讨论】:

谢谢。另一位用户提到了“openpyxl”。有理由更喜欢熊猫而不是 openpyxl 吗?我不知道如何使用 pandas 提取特定的单元格。 查看我的更新。你的代码能帮我遍历文件吗? @StatsScared 是的,如果所有工作表都具有相同的结构,您应该能够通过一个简单的循环处理所有工作表。用于选择特定行列查看:pandas.pydata.org/pandas-docs/stable/indexing.html 请接受答案,如果您对此过程的其他部分有更多问题,请检查已经提出的问题,通常已在此处提出,否则发布特定于您的新问题的问题。这里有一个庞大的熊猫用户社区,不断地回答问题。我很少有机会在别人之前回答问题。

以上是关于python生成合并标题excel的主要内容,如果未能解决你的问题,请参考以下文章

python第三方库实现word邮件合并功能

s-s-rS - 将外部 excel 文档与生成的报告合并?

shell + python 服务器巡检,生成excel巡检报告

poi Java生成excel合并单元格后字体居中

使用 Python 打开 Excel 电子表格 (.xlsx)

excel中如何将单元格数据按条件自动生成?