Python怎样⽤Pandas遍历⽬标⽂件夹下所有后缀,格式相同的表格数据并按指
定条件筛选。。。
本⼈是初⼊Python界的⼩⽩,可以说是⽩中⽩。因⼯作需要,批量对数据处理,Get到Python这项⼩技能格外重要。因避免涉及公司和个⼈隐私,故举个与本⼈⽆关的⼯作⽰例和代码,供⼤家参考,希望⼤家能交流互相学习。这是我第⼀篇CSDN博客。学习Python的⼤佬们都知道有2句⾮常有名的话语,1中1英。以后我的博客都会出现这2句话,以‘英’开始,以‘中’结束。
Talk is cheap,please show your code.
However,为了让⼤家更简单易懂代码结构和运⾏,还是上⼏张图解释⼀下。
1.⽬标⽬录下的表格⽂件(.xlsx)
2.随便打开⼀个表格看⼀下:(所有表格的格式是⼀致的)
3.⽬的:把⽬标⽂件夹下的所有.xlsx⽂件中Customer中为‘B’客户的都提取出来,做客户⼀致性筛查处理,时间起始是2020-3-20到2020-4-5,我们看到表格中是没有⽂件客户是谁负责的信息,所以我们要把提取的⽂件的名称加到各⾃的筛选数据中。OK,let us Go! Now,Beginning!
Talk is cheap,show me your code.好吧我刚说过了。
import pandas as pd
import os
import re
import openpyxl
from openpyxl import load_workbook
import time
#⼈机交互,信息收集,判断输⼊数据的准确与否,选择⽇期范围,需要筛选的客户,可⾃⾏设置
start_date =input('请输⼊⽇期起始点:(格式1978/4/1)\n')
end_date =input('请输⼊⽇期终⽌点:(格式同上)\n')
if start_date > end_date:
print('有误,请检查!')
time.sleep(1)
print('程序结束,请重新Running.')
else:
Customer =input('请输⼊您要汇总的客户名称:(格式ABCD)\n')
time.sleep(1)
if Customer !='A'and \
Customer !='B'and \
Customer !='C'and \
Customer !='D'and \
Customer !='E'and \
Customer !='F'and \
Customer !='G'and \
Customer !='H':
print('有误,请检查!')
time.sleep(1)
print('程序结束,请重新Running.')
else:
print('信息获取完毕,数据正在提取\n')
time.sleep(1)python怎么读文件夹下的文件夹
print('...\n......\n.........')
#开始导⼊Timer,Running
start = time.time()
#读取路径到上层⽂件夹,因为要遍历该⽂件夹下所有的表格
inpath ="C:/Users/Administrator/Desktop/Python/read/5"
#输出⽬标路径
outpath ="C:/Users/Administrator/Desktop/Python/write/5/客户⼀致性筛查.xlsx"
#后缀定义
suffix ='.xlsx'
#核⼼代码
file_list = os.listdir(inpath)
print('在⽬标路径'+ inpath +'\n到后缀为'+ suffix +'的⽂件:\n'+str(file_list))
#定义数据框
df_raw= pd.DataFrame()
for file in file_list:
dswith(suffix):
path = os.path.join(inpath,file)
#正则提取⽂件名称
order_name = re.findall(r"(.+?)\.",file)
df0['Date']= df0['Date']._datetime,format='%Y-%m-%d')#具体时间:%H:%S:%f
df00 = df0.loc[(df0['Date']>= start_date)&(df0['Date']<= end_date)&(df0['Customer']== Customer)]
length =len(df00)
order_name_col = order_name * length
#加销售⼈员的名字
df00.insert(1,"From",order_name_col)
#拼接数据
df_raw = pd.concat([df_raw,df00],axis=0,sort=False)
print(df_raw)
_excel(outpath)
#停⽌计时
end = time.time()
print('本次任务⽤时'+str(round(end-start,3))+'s')
print('输出⽂件位置:\n'+outpath)
4.可以来看看运⾏过程:
C:\Users\Administrator\PycharmProjects\untitled\venv\ C:/Users/Administrator/PycharmProjects/untitled/CustomerTotal.py 请输⼊⽇期起始点:(格式1978/4/1)
2020/3/20
请输⼊⽇期终⽌点:(格式同上)
2020/4/5
请输⼊您要汇总的客户名称:(格式ABCD)
B
信息获取完毕,数据正在提取
...
......
.........
在⽬标路径C:/Users/Administrator/Desktop/Python/read/5
到后缀为.xlsx的⽂件:
['Arry.xlsx','Bob.xlsx','Cathy.xlsx','Diavd.xlsx','Jessia.xlsx','John.xlsx','Lily.xlsx','Michcal.xlsx','Oliver.xlsx','Rebbita.xlsx','Sabria.xlsx']
Date From Customer Address Requirment Contact
102020-03-22 Arry B 上海2层阳光板1864567343
132020-03-25 Arry B 上海4层阳关板1864567346
182020-03-30 Arry B 上海阳光板1874567342
242020-04-05 Arry B 上海阳光板1834567341
Date From Customer Address Requirment Contact
102020-03-22 Arry B 上海2层阳光板1864567343
132020-03-25 Arry B 上海4层阳关板1864567346
182020-03-30 Arry B 上海阳光板1874567342
242020-04-05 Arry B 上海阳光板1834567341
102020-03-22 Bob B 上海2层阳光板1864567343
132020-03-25 Bob B 上海4层阳关板1864567346
182020-03-30 Bob B 上海阳光板1874567342
242020-04-05 Bob B 上海阳光板1834567341
182020-03-30 Bob B 上海阳光板1874567342 242020-04-05 Bob B 上海阳光板1834567341 102020-03-22 Cathy B 上海2层阳光板1864567343 132020-03-25 Cathy B 上海4层阳关板1864567346 182020-03-30 Cathy B 上海阳光板1874567342 242020-04-05 Cathy B 上海阳光板1834567341 Date From Customer Address Requirment Contact 102020-03-22 Arry B 上海2层阳光板1864567343 132020-03-25 Arry B 上海4层阳关板1864567346 182020-03-30 Arry B 上海阳光板1874567342 242020-04-05 Arry B 上海阳光板1834567341 102020-03-22 Bob B 上海2层阳光板1864567343 132020-03-25 Bob B 上海4层阳关板1864567346 182020-03-30 Bob B 上海阳光板1874567342 242020-04-05 Bob B 上海阳光板1834567341 102020-03-22 Cathy B 上海2层阳光板1864567343 132020-03-25 Cathy B 上海4层阳关板1864567346 182020-03-30 Cathy B 上海阳光板1874567342 242020-04-05 Cathy B 上海阳光板1834567341 102020-03-22 Diavd B 上海2层阳光板1864567343 132020-03-25 Diavd B 上海4层阳关板1864567346 182020-03-30 Diavd B 上海阳光板1874567342 242020-04-05 Diavd B 上海阳光板1834567341 Date From Customer Address Requirment Contact 102020-03-22 Arry B 上海2层阳光板1864567343 132020-03-25 Arry B 上海4层阳关板186
4567346 182020-03-30 Arry B 上海阳光板1874567342 242020-04-05 Arry B 上海阳光板1834567341 102020-03-22 Bob B 上海2层阳光板1864567343 132020-03-25 Bob B 上海4层阳关板1864567346 182020-03-30 Bob B 上海阳光板1874567342 242020-04-05 Bob B 上海阳光板1834567341 102020-03-22 Cathy B 上海2层阳光板1864567343 132020-03-25 Cathy B 上海4层阳关板1864567346 182020-03-30 Cathy B 上海阳光板1874567342 242020-04-05 Cathy B 上海阳光板1834567341 102020-03-22 Diavd B 上海2层阳光板1864567343 132020-03-25 Diavd B 上海4层阳关板1864567346 182020-03-30 Diavd B 上海阳光板1874567342 242020-04-05 Diavd B 上海阳光板1834567341 102020-03-22 Jessia B 上海2层阳光板1864567343 132020-03-25 Jessia B 上海4层阳关板1864567346 182020-03-30 Jessia B 上海阳光板1874567342 242020-04-05 Jessia B 上海阳光板1834567341 Date From Customer Address Requirment Contact 102020-03-22 Arry B 上海2层阳光板1864567343 132020-03-25 Arry B 上海4层阳关板1864567346 182020-03-30 Arry B 上海阳光板1874567342 242020-04-05 Arry B 上海阳光板1834567341 102020-03-22 Bob B 上海2层阳光板1864567343 132020-03-25 Bob B 上海4层阳关板1864567346 182020-03-30 Bob B 上海阳光板1874567342 242020-04-05 Bob B 上海阳光板1834567341 102020-03-22 Cathy B 上海2层阳光板1864567343 132020-03-25 Cathy B 上海4层阳关板18645673
46 182020-03-30 Cathy B 上海阳光板1874567342 242020-04-05 Cathy B 上海阳光板1834567341 102020-03-22 Diavd B 上海2层阳光板1864567343
102020-03-22 John B 上海2层阳光板1864567343 132020-03-25 John B 上海4层阳关板1864567346 182020-03-30 John B 上海阳光板1874567342 242020-04-05 John B 上海阳光板1834567341
Date From Customer Address Requirment Contact 102020-03-22 Arry B 上海2层阳光板1864567343 132020-03-25 Arry B 上海4层阳关板1864567346 182020-03-30 Arry B 上海阳光板1874567342 242020-04-05 Arry B 上海阳光板1834567341 102020-03-22 Bob B 上海2层阳光板1864567343 132020-03-25 Bob B 上海4层阳关板1864567346 182020-03-30 Bob B 上海阳光板1874567342 242020-04-05 Bob B 上海阳光板1834567341 102020-03-22 Cathy B 上海2层阳光板1864567343 132020-03-25 Cathy B 上海4层阳关板1864567346 182020-03-30 Cathy B 上海阳光板1874567342 242020-04-05 Cathy B 上海阳光板1834567341 102020-03-22 Diavd B 上海2层阳光板1864567343 132020-03-25 Diavd B 上海4层阳关板1864567346 182020-03-30 Diavd B 上海阳光板1874567342 242020-04-05 Diavd B 上海阳光板1834567341 102020-03-22 Jessia B 上海2层阳光板1864567343 132020-03-25 Jessia B 上海4层阳关板1864567
346 182020-03-30 Jessia B 上海阳光板1874567342 242020-04-05 Jessia B 上海阳光板1834567341 102020-03-22 John B 上海2层阳光板1864567343 132020-03-25 John B 上海4层阳关板1864567346 182020-03-30 John B 上海阳光板1874567342 242020-04-05 John B 上海阳光板1834567341 102020-03-22 Lily B 上海2层阳光板1864567343 132020-03-25 Lily B 上海4层阳关板1864567346 182020-03-30 Lily B 上海阳光板1874567342 242020-04-05 Lily B 上海阳光板1834567341
Date From Customer Address Requirment Contact 102020-03-22 Arry B 上海2层阳光板1864567343 132020-03-25 Arry B 上海4层阳关板1864567346 182020-03-30 Arry B 上海阳光板1874567342 242020-04-05 Arry B 上海阳光板1834567341 102020-03-22 Bob B 上海2层阳光板1864567343 132020-03-25 Bob B 上海4层阳关板1864567346 182020-03-30 Bob B 上海阳光板1874567342 242020-04-05 Bob B 上海阳光板1834567341 102020-03-22 Cathy B 上海2层阳光板1864567343 132020-03-25 Cathy B 上海4层阳关板1864567346 182020-03-30 Cathy B 上海阳光板1874567342 242020-04-05 Cathy B 上海阳光板1834567341 102020-03-22 Diavd B 上海2层阳光板1864567343 132020-03-25 Diavd B 上海4层阳关板1864567346 182020-03-30 Diavd B 上海阳光板1874567342 242020-04-05 Diavd B 上海阳光板183456
7341 102020-03-22 Jessia B 上海2层阳光板1864567343 132020-03-25 Jessia B 上海4层阳关板1864567346 182020-03-30 Jessia B 上海阳光板1874567342 242020-04-05 Jessia B 上海阳光板1834567341 102020-03-22 John B 上海2层阳光板1864567343 132020-03-25 John B 上海4层阳关板1864567346 182020-03-30 John B 上海阳光板1874567342 242020-04-05 John B 上海阳光板1834567341
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论