如何将下面的sheet页的名称赋值到当前工作簿内的有数据的行数后,并批量对后面所有的sheet页进行操作,赋值完成后,再将所有的sheet页提取出来合为一个Excel,该如何用Python实现
那要看你用的是什么库来完成这些操作
不知道你这个问题是否已经解决, 如果还没有解决的话:data.to_excel(writer, ‘page_1’, float_format=’%.5f’)
writer.save()
writer.close()
对于这个问题,可以通过以下步骤用Python实现:
openpyxl
、xlrd
和xlwt
。如果没有安装这些库,可以使用pip
命令进行安装。import openpyxl
import xlrd
import xlwt
openpyxl
库的load_workbook
函数打开文件并获取所有sheet页名称。wb = openpyxl.load_workbook("example.xlsx")
sheet_names = wb.sheetnames
openpyxl
库的iter_rows
函数获得每一行的数据,并使用openpyxl
库的cell
方法获取单元格数据。for sheet_name in sheet_names:
sheet = wb[sheet_name]
max_row = sheet.max_row
for row in sheet.iter_rows():
if row[0].value: # 判断是否有数据
sheet.cell(row=row[0].row, column=max_row+1, value=sheet_name)
for sheet_name in sheet_names:
sheet = wb[sheet_name]
# 进行具体的操作
xlrd
库打开源文件,并遍历所有的sheet页,然后使用xlwt
库创建一个新的Excel文件,并将每个sheet页的数据复制到新文件中。source_file = xlrd.open_workbook("source.xlsx")
target_file = xlwt.Workbook()
for sheet_name in source_file.sheet_names():
source_sheet = source_file.sheet_by_name(sheet_name)
target_sheet = target_file.add_sheet(sheet_name)
for row in range(source_sheet.nrows):
for col in range(source_sheet.ncols):
target_sheet.write(row, col, source_sheet.cell(row, col).value)
target_file.save("target.xls")
这样就可以实现对Excel中sheet名称的批量提取和填写,并将所有的sheet页提取出来合并为一个Excel文件。