gpt4 book ai didi

python - 使用 Python 合并 Excel 工作表中的特定单元格

转载 作者:行者123 更新时间:2023-12-02 16:12:04 27 4
gpt4 key购买 nike

我一直在尝试通过循环将满足特定条件的单元格与其旁边的单元格合并,但我不太确定如何去做。例如,从第 7 行开始,如果单元格中有单词“Sample”,我希望它与它旁边的列中的单元格合并,我想继续这样做直到我到达该行的末尾.我目前正在为此使用 openpyxl。

这是我试过的(它不起作用):

wb = load_workbook('Test.xlsx')
ws = wb.active
worksheet = wb['Example']
q_cells = []
for row_cells in worksheet.iter_rows(min_row = 7):
for cell in row_cells:
if cell.value == 'Sample':
q_cells.append(cell.coordinate)

for item in q_cells:
worksheet.merge_cells(item:item+1)

wb.save('merging.xlsx')

我不太确定如何最好地处理这段代码。任何帮助将不胜感激!

最佳答案

merge_cells 采用一个字符串(例如:“A2:A8”)或一组值。来自文档:

>>> ws.merge_cells('A2:D2')
>>> ws.unmerge_cells('A2:D2')
>>>
>>> # or equivalently
>>> ws.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4)
>>> ws.unmerge_cells(start_row=2, start_column=1, end_row=4, end_column=4)

来源:https://openpyxl.readthedocs.io/en/stable/usage.html

听起来您可能想要找到您的第一个单元格和最后一个单元格,然后合并(这里我使用的是 f-strings):

ws.merge_cells(f'{first_cell.coordinate}:{last_cell.coordinate}')

openpyxl 中的合并单元格从“单元格”类型更改为“MultiCellRange”类型,它被指定为单元格坐标的特定范围。 Openpyxl 将允许您重叠合并范围而不会引发错误,但 Excel 不会让您在没有警告的情况下打开生成的文件(并且可能会删除以后的合并)。如果要合并,则必须指定整个范围。

关于python - 使用 Python 合并 Excel 工作表中的特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67732103/

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