gpt4 book ai didi

python - 如何在 Python 中读取、编辑和另存为另一个 excel 文件?

转载 作者:行者123 更新时间:2023-12-04 19:48:34 25 4
gpt4 key购买 nike

我有一个包含多个工作表(sheet1、sheet2、sheet3、sheet4 等)的 excel 文件。我想使用 python 进行一些格式更改,并将这些编辑后的文件保存为包含多个工作表的单独 excel 文件。

第 1 步:读取包含多个工作表的文件

第 2 步:在工作表中进行更改

第 3 步:将更改保存到包含多个工作表的 excel 文件

到目前为止我尝试了什么?

import pandas as pd
import pandas.io.formats.style
import os
from pandas import ExcelWriter
import numpy as np
import xlsxwriter
from itertools import cycle

from xlsxwriter.utility import xl_rowcol_to_cell

df = pd.ExcelFile('data.xlsx')

for i in df.sheet_names:
# make the required changes
writer = pd.ExcelWriter('edited_file.xlsx', engine='xlsxwriter', options={'strings_to_numbers': True}, date_format='mmmm dd yyyy')
df.to_excel(writer, sheet_name= i , startrow=1 , startcol=0, header=False, index=False, encoding='utf8')
workbook = writer.book
worksheet = writer.sheets[i]

data_format1 = workbook.add_format({'bg_color': '#F1EEEE'})
data_format2 = workbook.add_format({'bg_color': '#FFFFFF'})

formats = cycle([data_format1, data_format2])

for row, value in enumerate(df):
data_format = next(formats)
worksheet.set_row(row, cell_format=data_format)
worksheet.write(row, 0, value)

format_header = workbook.add_format()
format_header.set_bold()
format_header.set_border()
format_header.set_bg_color('gray')
format_header.set_font_color('white')

format_data = workbook.add_format()

#worksheet.set_column('A:Z', 20, format_data)
worksheet.set_row(0, 20, format_header)

# Write the header manually
for colx, value in enumerate(df.columns.values):
worksheet.write(0, colx, value)

worksheet.autofilter(0, 0, df.shape[0], df.shape[1])

writer.save()

我无法保存多张纸,只能保存第一张纸。我该怎么做?

最佳答案

当您在 for 循环中调用它时,您会在第一次迭代时关闭文件:

 writer.save()

你必须在 for 循环之外调用它

关于python - 如何在 Python 中读取、编辑和另存为另一个 excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66241042/

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