gpt4 book ai didi

python - 将新列写入现有的 xlsx 文件

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

我有一个 .xlsx 文件,其基本格式为跨多个工作表(sheet1、sheet2、sheet3)

Col1 | Col2 | Col3 | Col4 | Col5
abc1 | abc2 | abc3 | abc4 | abc5

列数变化的地方。我希望能够写一个新的给定的工作表名称。目前我有:

import openpyxl


def get_sheets():
wb = openpyxl.load_workbook('C:/Users/mydir/Desktop/myfile.xlsx')
sheets = wb.get_sheet_names()

sheet3 = "Sheet3"
sheet4 = "Sheet4"
for i in sheets:
if i == sheet3:
# Write column
elif i == sheet4:
# Write column in different sheet
else:
continue


def main():
get_sheets()

print
print "Script finished."


if __name__ == "__main__":
main()

openpyxl 是否允许将新列写入现有的 xlsx 文件,其标题和行数等于标题后的行数?

最佳答案

要将新列添加到现有的 xlsx 文件,您可以编写一个 add_column() 函数,如下所示。这需要工作表名称和您希望添加的值列表:

import openpyxl

def add_column(sheet_name, column):
ws = wb[sheet_name]
new_column = ws.max_column + 1

for rowy, value in enumerate(column, start=1):
ws.cell(row=rowy, column=new_column, value=value)


wb = openpyxl.load_workbook('C:/Users/mydir/Desktop/myfile.xlsx')
add_column('Sheet3', ['new header', 'value1', 'value2'])
wb.save('output.xlsx') # use the same name if required

您只需使用 wb['Sheet3'] 即可按名称获取工作表。然后要获取工作表中现有列的数量,请使用 ws.max_column 获取最后一列索引。为新添加的列添加 1

接下来使用 Python 的 enumerate()函数来处理列值列表。对于每一个,它都会为您提供要使用的行号和要写入单元格的值。

关于python - 将新列写入现有的 xlsx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46521401/

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