我是openpyxl的新手,正在开发一种需要复制和粘贴列的工具.
我有一个包含两组excel文件的文件夹.我需要脚本来遍历文件,找到名为"GenLU_xx"的文件(xx表示像卡尔加里这样的地方的名称)并复制列C&E(3和5).然后需要找到名为"LU_Summary_xx"的相应文件(xx再次表示像Calgary这样的地方名称)并将复制的列粘贴到该工作簿的第二张表中.它需要将GenLU_Calgary与LUZ_Summary_Calgary匹配,依此类推所有文件.到目前为止,我还没有找到复制和粘贴列的代码,看似双重迭代让我感到困惑.我的python技能是初学者,虽然我通常能够通过查看示例来找出代码.在这种情况下,我在查找示例代码时遇到了一些麻烦.刚开始使用openpyxl.我已经完成了脚本,除了与excel有关的部分.希望有人可以提供帮助.任何帮助将非常感激!
编辑:StackOverflow的新手,所以不知道为什么我得到-2.也许是因为缺少任何代码?
这是我到目前为止:
import os, openpyxl, glob
from openpyxl import Workbook
Tables = r"path"
os.chdir(Tables)
for file in glob.glob ("LUZ*"):
wb = openpyxl.load_workbook(file)
ws = wb.active
ws ["G1"] = "GEN_LU_ZN"
wb.create_sheet(title="Sheet2")
wb.save(file)
Run Code Online (Sandbox Code Playgroud)
这只是为从LUZ开始的每个文件的G1添加一个值,并创建第二个工作表.
正如我之前提到的,我还没有弄清楚复制整列的值的代码.
我想我可以使用glob迭代所有以"GenLU*"开头的文件,然后存储第3列和第5列的值,但我仍然无法弄清楚如何访问列的值.我没有一系列行,因为每个工作簿的两列的行数不同.
编辑2:我可以使用以下代码访问特定列的单元格值:
for file in glob.glob ("GenLU_Airdrie*"):
wb = openpyxl.load_workbook(file, use_iterators=True)
ws = wb.active
for row in ws.iter_rows ('C1:C200'):
for cell in row:
values = cell.value
print values
Run Code Online (Sandbox Code Playgroud)
但是我不确定如何在另一张表的A栏中"粘贴"这些值.