【Python】多年数据分成不同sheet

需求:

excel文件中包含多年数据,其中一列列名为"年",要保存一个新excel,将年数值不同的行保存在不同的sheet文件中,每个sheet文件第一行仍为原数据第一行,并且每个sheet名为对应的年的值。

拆分年份数据.py

python 复制代码
import pandas as pd

# Replace 'input_file.xlsx' and 'output_file.xlsx' with your actual file paths
input_file = 'input_file.xlsx'
output_file = 'output_file.xlsx'

# Read the Excel file
df = pd.read_excel(input_file)

# Print the column names
print("Column names:", df.columns)

# Update the column name based on the actual column name in your Excel file
# For example, if the column name is 'Year', replace '年' with 'Year'
column_name = '年'  # Update this to the actual column name
grouped = df.groupby(column_name)

# Create a new Excel writer
with pd.ExcelWriter(output_file, engine='xlsxwriter') as writer:
    # Iterate over groups and save each group to a separate sheet
    for group_name, group_df in grouped:
        # Create a new sheet with the group name
        group_df.to_excel(writer, sheet_name=str(group_name), index=False, header=True)
        
        # Get the worksheet and add a header row
        worksheet = writer.sheets[str(group_name)]
        worksheet.write_string(0, 0, df.columns[0])  # assuming the first column is the header

# Print a message
print(f"Data has been saved to {output_file}")
相关推荐
qq5918406854 小时前
uiautomator2自动化安卓手机操作
python
80s7774 小时前
动态代理和静态代理的区别,动态代理怎么提高网络安全性
python
浪子明X5 小时前
十六位账本怎样发现传输差错:Internet Checksum 生活类比
开发语言
niucloud-admin6 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
小叶肥辉6 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
2401_873479407 小时前
IP属地为什么有时显示外省?用IP查询工具核查动态分配、运营商出口与GeoIP库
python·tcp/ip·ip
xiangyun617 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun618 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
OKkankan9 小时前
LangChain 能力详解!:输出解析、RAG、向量数据库与 Retriever 检索器
数据结构·python·langchain·ai应用
白远山9 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析