简化代码:import pandas as pd import openpyxl # 读取Excel文件 workbook = openpyxl.load_workbook('存贷款数据.xlsx') # 遍历每个Sheet表,并将Sheet表名写入到每行N列的单元格 for sheet_name in workbook.sheetnames: sheet = workbook[sheet_name] max_row = sheet.max_row max_column = sheet.max_column for row in range(3, max_row): for column in range(1, max_column + 1): if column == max_column: sheet.cell(row=row, column=column + 1).value = sheet_name else: sheet.cell(row=row, column=column).value = sheet.cell(row=row, column=column).value # 保存新的工作簿 workbook.save('存贷款数据(新).xlsx') # 获取所有Sheet表名 file = pd.ExcelFile('存贷款数据(新).xlsx') sheet_names = file.sheet_names # 合并所有Sheet表 df_merged = pd.concat([file.parse(sheet) for sheet in sheet_names]) # 将合并后的数据保存到新的Excel文件中 df_merged.to_excel('merged.xlsx', index=False)
时间: 2024-03-26 11:36:48 浏览: 198
import pandas as pd
# 读取Excel文件
workbook = pd.read_excel('存贷款数据.xlsx', sheet_name=None)
# 将每个Sheet表名写入到每行N列的单元格
for sheet_name, sheet in workbook.items():
sheet.loc[3:, max(sheet.columns) + 1] = sheet_name
# 合并所有Sheet表
df_merged = pd.concat(workbook.values())
# 将合并后的数据保存到新的Excel文件中
df_merged.to_excel('merged.xlsx', index=False)
相关问题
# import pandas as pd # df = pd.read_excel('sheet.xlsx', engine='openpyxl') # new_df = df.query('id == "220"') # writer = pd.ExcelWriter('new_excel_file.xlsx') # new_df.to_excel(writer, sheet_name='New_Sheet', index=False) # writer.save() import openpyxl # 读取Excel文件 workbook = openpyxl.load_workbook('sheet.xlsx') # 选择需要操作的sheet页 worksheet = workbook['Sheet'] # 根据筛选条件获取满足条件的数据,其中,min_row=2表示从第二行开始读取数据,因为第一行通常是表头; # max_row=worksheet.max_row表示读取Excel文件中所有的行数据;values_only=True表示只读取单元格中的值,而不包括格式等其他元素。 new_data = [] for row in worksheet.iter_rows(min_row=2, max_row=worksheet.max_row, values_only=True): if row[2] == '220': new_data.append(row) # 创建新的sheet页并写入数据 new_worksheet = workbook.create_sheet('New Sheet') for row in new_data: new_worksheet.append(row) # 保存Excel文件 workbook.save('sheet.xlsx')报zipfile.BadZipFile: File is not a zip file
这个错误通常是因为你的 Excel 文件已经被其他程序打开了,或者文件损坏导致的。你可以尝试先关闭 Excel 文件,然后重新运行代码,或者尝试使用另一个 Excel 文件来测试代码是否正常运行。如果问题仍然存在,你可以尝试使用 openpyxl 库提供的 load_workbook() 函数的 data_only 参数,将其设置为 True,这样可以确保仅读取单元格中的值,而不包括公式等其他元素。
import pandas as pd import openpyxl # import matplotlib.pyplot as plt import numpy as np from sklearn.ensemble import AdaBoostClassifier from sklearn.model_selection import train_test_split # 打开Excel文件 wb = openpyxl.load_workbook('./处理过的训练集/987027.xlsx')
这段代码是用于导入所需的Python库,并打开一个Excel文件的操作。其中,pandas库用于数据的处理和分析,openpyxl库用于读写Excel文件,numpy库用于数值计算,sklearn库用于机器学习算法的实现。对于打开Excel文件的操作,需要指定文件路径和文件名,本例中文件路径为'./处理过的训练集/987027.xlsx',表示该文件在当前目录下的'处理过的训练集'文件夹中,文件名为'987027.xlsx'。
阅读全文