一、提取多个excel表中的某行/列数据做合并

首先把所有要提取数据的excel放置到同一个目录文件夹下

导入包:

import os  '用于提取目录下文件名'
import pandas as pd  '用于生成data_frame进行结果存储'

提取目录文件夹中所有的文件名:
只需要写到目录文件夹的路径即可,会输出目录文件夹中所有的文件名称

info = os.listdir('/目录文件夹路径/') 

在这里插入图片描述

'创建空的列表用于存放提取出得数据'
data = []

'datafile是info中提取出来的xlsx文件名称'
for datafile in info:
   '一条判断语句来排除文件夹中,我们不需要的文件'
   if (datafile !='.ipynb_checkpoints' and datafile != '测试数据清洗.ipynb'):
     '输出判断执行提取的文件名,也可以用于判断哪个文件有错误'
     print(datafile)
     '逐条读取目录文件夹下的每一个文件'
     file = pd.read_excel(datafile)
     '选取文件的固定行/列,存放到列表data中'
     data.append(file['需要提取的字段名称'])
'转化为dataframe才可以进行保存操作'
data1=pd.DataFrame(data=data)
'保存为csv,中文编码,可以查看输出结果'
data1.to_csv('文件名称或路径.csv',encoding='utf_8_sig')

二、提取多个excel表中的全部数据并打标识合并

import os
import pandas as pd
info = os.listdir('C:/Users/Desktop/文件夹目录')

df_empty = pd.DataFrame(columns = ['Company Name','Province','City'])

for datafile in info:
    #排除文件夹中不需要的文件
   if (datafile !='test1.xls' and datafile != 'test2.xls'):
     print(datafile)
     #datafile是文件夹中文件名,如果不在默认路径需要join录入的前缀
     file = pd.read_excel(os.path.join('C:/Users/Desktop/文件夹目录', datafile))
     #在每一次读取后加上文件名用以区分是哪个excel的
     file['types'] = datafile
     #竖向链接每个df
     df_empty = pd.concat([df_empty, file], axis = 0)
print(df_empty)

#data1=pd.DataFrame(data=data)

df_empty.to_csv('C:/Users/Desktop/文件夹目录/test121.csv',encoding='utf_8_sig')
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐