gpt4 book ai didi

python - openpyxl:将数据附加到第一个空列单元格

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:42 26 4
gpt4 key购买 nike

背景:

我有一个 Excel 工作簿,其中包含分布在各种工作表中的元数据。我需要从各种工作表中提取相关的数据列,并将它们合并到一个工作表中。使用以下代码,我已经能够创建一个新工作表并向其中添加数据。

        # Open workbook and assign worksheet
try:
wb = openpyxl.load_workbook(metadata)
shtEditionLNM = wb.worksheets[0] # Edition date & latest NM
shtChartsTitles = wb.worksheets[1] # Charts & Titles
shtDepthHeight = wb.worksheets[4] # Depth & heights
shtChartProj = wb.worksheets[7] # Chart Projection
except:
raise SystemExit(0)

new = wb.create_sheet()
new.title = "MT_CHARTS INFO"
new.sheet_properties.tabColor = "1072BA"
shtMeta = wb.get_sheet_by_name("MT_CHARTS INFO")

for row in shtChartsTitles.rows:
shtMeta.append([row[0].value, row[1].value, row[2].value, row[4].value])
for row in shtEditionLNM.rows:
shtMeta.append([row[3].value, row[4].value])


wb.save('OW - Quarterly Extract of Metadata for Raster Charts Dec 2015.xlsx')

这没有任何错误,我可以看到数据保存到我的新工作簿中。但是,当我运行第二个循环并附加值时,它们将附加到单元格 A3169,而我实际上希望它们从 E1 填充。

我的问题归结为“有没有一种方法可以附加到新列而不是新行?”

提前致谢!

最佳答案

不直接:ws.append() 处理行,因为这是存储数据的方式,因此最容易针对只读和只写模式进行优化。

但是,ws.cell(row=x, column=y, value=z) 将允许您随心所欲。 2.4 版(通过结帐安装)还可以让您通过为您管理对单元格的分配直接使用列:ws['E'] 将返回列中单元格的元组,直到当前 ws.max_rowws.iter_cols(min_col, min_row, max_col, max_row) 将返回一个与您需要一样大的列生成器。

关于python - openpyxl:将数据附加到第一个空列单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com