零基础pandas第七天

excel拆分与合并

work_dir="C:\Users\Ziyin\Desktop\Rainfall_data.xlsx"
splits_dir=f"(work_dir)/splits

import os
if not os.path.exists(splits_dir):
    os.mkdir(splits_dir) 
import pandas as pd

df_source=pd.read_excel(f"(work_dir/C:\Users\Ziyin\Desktop\Rainfall_data.xlsx))
df_source.head()
df_source.index
df_source.shape
total_row_count=df.source.shape(0)
total_row_count 

把一个大的excel拆分成多个excel

user_names=["xiaohong","xiaoming""xiaoqiang"]#这个excel分给几个人

split_size=total_row_count//len(user_names)

if total_row_count%len(user_names)!=0:

split_size+=1

spli_size

拆分成多个小的dataframe

df.subs=[]#把拆分出来的存入一个空表中

for idx,user_name in enumerate(user_name)#iloc的开始索引

begin=idx*split_size#iloc的开始索引

end=begin+split_size#iloc的结束索引

df.sub=df_source.iloc[begin:end]#实现df按照iloc拆分

df_subs.append(idx,user_name,df_sub)#将每个字dataframe存入列表

将每个dataframe存入excel

for idx,user_name,df.sub in df.subs:

file_name=f"(splits_dir)/C:\Users\Ziyin\Desktop\Rainfall_data_(idx)_(user_name).xlsx"

df_sub.tp_excel(file_name,index=False)

pandas实现excel的合并

1遍历文件夹,得到要合并的excel名称列表

import os

excel_names=[]

for excel_names in os.listdir(splits_dir):

               excel_names.append(excel_name)

excel_names

2 分别读取到dataframe

df.list=[]

for excel_name in excel_names:#读取每个文件到excel

          excel_path=f"(splits_dir)/(excel_name)"

df.split=pd.read_read(excel_path)

username=excel_name.replace(".xlsx","").replace(".xlsx","")[2:]#得到username

print( excel_name,username)

df_splits["username"]=username#给每个df添加一列

df_list.append(df.splits)

3使用pd.concat进行合并

df.merge=df.concat(df.df_list)

4将合并后的df输出到excel

df.merge.to_excel(f"(work_dir)/xxxxxx,xlsx",index=false)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值