简介:
本博客介绍了一个实用的Python脚本,旨在帮助用户处理和重塑Excel数据。这个脚本允许用户将一个包含多列数据的Excel文件拆分成多个新的Excel文件,每个文件包含10列数据。特别适用于需要将大型数据集分解为更小、更易管理的部分的场合。
功能特点:
- 用户友好的交互:脚本通过命令行界面运行,用户可以轻松输入源Excel文件的路径。
- 灵活的数据处理:原始Excel文件中的每两列被视为一个单元,这些单元被转换成新的Excel文件中的10列格式。
- 自动化和效率:程序自动处理整个Excel文件,为每个数据单元生成一个新文件,大大节省了手动操作的时间和努力。
- 原地保存:新生成的Excel文件保存在原文件所在的同一目录中,便于组织和访问。
- 简单易懂的代码:使用了Python中的
pandas
和openpyxl
库,代码结构清晰,易于理解和修改。
应用场景:
- 数据分析师和研究人员,他们需要将大型数据集分割为更小的部分进行详细分析。
- 任何需要快速转换和重组Excel数据的业务或教育场景。
- 用于数据清理和准备的初级阶段,特别是在处理大量的数据列时。
import pandas as pd import os def split_excel(file_path): # 读取Excel文件,忽略第一行 df = pd.read_excel(file_path, header=1) # 获取文件所在目录和文件名前缀 dir_name = os.path.dirname(file_path) file_prefix = os.path.splitext(os.path.basename(file_path))[0] # 每两列处理一次 for i in range(0, df.shape[1], 2): # 获取当前单元的两列 unit_df = df.iloc[:, i:i+2] # 重塑数据为10列 reshaped_data = [] for row in unit_df.itertuples(index=False): reshaped_data.extend(row) # 将数据分为10列 reshaped_df = pd.DataFrame([reshaped_data[i:i+10] for i in range(0, len(reshaped_data), 10)]) # 保存新的Excel文件 new_file_name = f"{file_prefix}_新表格{i//2 + 1}.xlsx" reshaped_df.to_excel(os.path.join(dir_name, new_file_name), index=False) return "处理完成" # 用户输入文件地址 file_path = input("请输入Excel文件的路径: ") print(split_excel(file_path))