工作需要,需要进行表格数据抽取合并。反正代码写了也是写了,就记录一下。
代码是精简版,应该可以用,反正主要就提供一个思路给大家参考
import os
import pandas as pd
'''
代码完成:1.获取文件夹内所有的表格文件,从里面读取几个字段,然后+表名字,重新封装成新表不一样的字段名
'''
# 定义源文件夹路径
source_folder = r'C:\Users\HZ\Desktop\2022-02-02'
# 初始化一个空的 DataFrame,用于存储所有表格文件中的数据
combined_data = pd.DataFrame(columns=['文件名', '资源编码', '资源名'])
# 定义字段名映射关系
column_mapping = {
'文件名': '文件名',
'资源编码': '资源编码',
'资源名': '资源名称',
}
# 遍历源文件夹中的所有文件
for filename in os.listdir(source_folder):
filepath = os.path.join(source_folder, filename)
# 判断文件是否为 Excel 文件
if filename.endswith('.xlsx') or filename.endswith('.xls'):
# 读取 Excel 文件中的数据
df = pd.read_excel(filepath)
# 添加文件名到数据中作为标识
df['文件名'] = filename
# 提取所需的字段,并添加到合并的数据中
combined_data = pd.concat([combined_data, df[['文件名', '资源编码', '资源名']]])
# 重命名列名
combined_data = combined_data.rename(columns=column_mapping)
# 保存合并后的数据到新的 Excel 文件
output_excel = r'C:\Users\HZ\Desktop\个人测试.xlsx'