循环目录文件处理Excel相同表格,合并成一张长表

循环目录文件处理Excel相同表格,合并成一张长表

-- coding: utf-8 --

“”"
循环目录文件处理Excel相同表格,合并成一张长表
“”"
import os,re
import pandas as pd
import time

def readExcelFile(fname,col_not_null,sheet_name,skiprows):
“”"
单个excel文件处理
“”"
table = pd.read_excel(fname,sheet_name,skiprows)
##数据处理
#去掉空格
df = table
df.columns = [i.replace(’ ‘,’’) for i in df.columns]
# 删除字段
df = df[df[col_not_null] != None]
df = df[df[col_not_null].notnull()]
return df

def handle_dir_excel(dir_path,col_not_null,sheet_name,skiprows):
“”"
目录处理
“”"
dir_path = “C:\Users\HP\Desktop\支付宝目录”
df = pd.DataFrame([])
for root,dirs,files in os.walk(dir_path):##文件夹的路径
if files: ##判断是否有文件
for file_name in files: ##循环文件的名称
if ‘.xls’ in file_name: #判定文件是否以xlsx结尾,是的就继续,不是的就退出了;
fname = os.path.join(root,file_name)
print(‘正在处理的文件是—%s’%(fname))
try:
data = readExcelFile(fname,col_not_null,sheet_name,skiprows)
df_tmp = pd.DataFrame(data)
df = pd.concat([df,df_tmp], ignore_index=True, sort=True) ## 数据合并
print(‘文件的长宽是—’,df.shape)
except:
print(‘Fail—读取文件处理数据失败’)
else:
print(‘warning:非.xls文件不读取处理’)
return df

def write_xlsx(df,out_filename,out_cols):
“”"
将数据集保存到本地
“”"
print(‘保存的文件位置是—’,out_filename)
try:
writer = pd.ExcelWriter(out_filename, engine=‘xlsxwriter’)
df.to_excel(writer,‘合集-Sheet1’,index=False)
except:
print(‘保存失败’)
try:
##限定部分列输出
df_v1 =df[out_cols]
df_v1.to_excel(writer,‘部分列-Sheet2’,index=False)
except:
print(‘限定部分列输出失败’)
writer.save()
return None

if name == “main”:
start_time = time.time() # 开始时间
“”"
基础配置信息
“”"
dir_path = “C:\Users\HP\Desktop\支付宝目录” #文件所在的目录
## 以下是针对单个excel文件设置的
sheet_name = 0 # sheet_name 设置为数字0,表示默认选择第一个sheet表格,如果是字符串,表示的是sheet_name的名字
skiprows=4 #省略指定行数的数据
col_not_null = ‘交易创建时间’ ##选择一个字段,这个字段必须有值,用于剔除尾部数据
## 输出信息
out_filename = ‘合集v1.xlsx’ ##输出的文件名字
out_filename = dir_path +’\’+ out_filename
out_cols =[‘交易创建时间’,‘金额(元)’,‘商品名称’,‘资金状态’] ##输出限定部分列
“”"
目录excel读取处理
“”"
df = handle_dir_excel(dir_path,col_not_null,sheet_name,skiprows)
“”"
保存数据
“”"
write_xlsx(df,out_filename,out_cols)
end_time = time.time() #结束时间
print(“程序耗时%f秒.” % (end_time - start_time))

EXCEL在人力资源管理中的应用技巧 https://306t.com/file/686368-477370806

更多资源下载地址:https://z701.com/f/686368-485346643-6740b7
(访问密码:4939)

Excel Excel教程 Excel技巧 Excel表格 Excel表格制作 excel函数公式大全

各位网友,小编在网上购买的Excel教程,现在免费分享给大家,希望对您有所帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值