Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 合并Excel工作表中的一列_Python_Excel - Fatal编程技术网

Python 合并Excel工作表中的一列

Python 合并Excel工作表中的一列,python,excel,Python,Excel,我有几千张excel工作表。每个工作表都有一个填充的列,最多约40行。我想制作一个主工作表,在不同的列中包含每个工作表的信息。例如,假设我有1000个要合并的工作表,对于主工作表,工作表1/1000中的A列将填充A列,工作表2/1000中的B列将填充A列,工作表3/1000中的C列将填充A列,等等 这些列没有公共标题 首先制作一张“主”表作为第1页。然后制作一个宏,循环遍历每个工作表,复制整个第一列,并粘贴到第1行的第一个空列中。循环直到你把床单用完。如果您亲自展示一些代码,我们可以为您提供更多

我有几千张excel工作表。每个工作表都有一个填充的列,最多约40行。我想制作一个主工作表,在不同的列中包含每个工作表的信息。例如,假设我有1000个要合并的工作表,对于主工作表,工作表1/1000中的A列将填充A列,工作表2/1000中的B列将填充A列,工作表3/1000中的C列将填充A列,等等


这些列没有公共标题

首先制作一张“主”表作为第1页。然后制作一个宏,循环遍历每个工作表,复制整个第一列,并粘贴到第1行的第一个空列中。循环直到你把床单用完。如果您亲自展示一些代码,我们可以为您提供更多帮助。

这/应该/做这件事。我还没有测试它,但它应该足够简单,可以从这里修复

import itertools
import openpyxl as px

infile = px.load_workbook('path/to/input')
outsheet = wb.get_shee_by_name(wb.sheetnames[0])

for col,sheet in zip(itertools.count(1), (infile.get_sheet_by_name(sname) for sname in infile.sheetnames)):
    for r,cell in enumerate((r for _col in sheet.columns for r in _col), 1):
        sheet.cell(row=r, col=col).value = cell.value

infile.save('path/to/output')

你试过什么吗?VBA似乎很合适。@E.Trauger我不知道如何为此编写代码。Stackoverflow不是一个让人们为您编写代码的网站。在请别人为你编写宏之前,请自己尝试一下。使用GoogleAre在同一工作簿(即excel文件)中保存所有这些工作表?@inspectorG4dget-Yes,所有工作表都在同一工作簿中。