栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

Python实现多个Sheet文件合并,添加列

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python实现多个Sheet文件合并,添加列

Python实现多个Sheet文件合并,添加列

需求:除了xx表,其它表添加xx_id字段;

代码如下

import os
import pandas as pd

base_dire = "./data"
result_file = './result/'

for path,dir_list,file_list in os.walk(base_dire):
    for file_name in file_list:
        #文件名转小写,文件结尾必须是'xls'
        if str(file_name).lower().endswith('xls'):
            file_path = os.path.join(path, file_name)
            #读取ExcelFile获取sheet_names
            df = pd.ExcelFile(file_path)
            sheet_names = df.sheet_names

            #如果'xx信息'在 sheet_names 这个列表里面能找到,就往下面循环,这样就排除了'Sheet1、Sheet2、Sheet3'的sheet
            if 'xx信息' in sheet_names:
                xx_df_row = pd.read_excel(file_path, sheet_name='xx信息')
                #loc函数,通过所以和列名获取数据
                xx_id = xx_df_row.loc[0, 'xxx']
                csv_file_path = f'{result_file}xx信息.csv'
                #xx信息表,不添加 xx_id 字段,所以不用处理直接写到csv
                xx_df_row.to_csv(csv_file_path, mode='a', index=False,
                                      header=(not os.path.exists(csv_file_path)))

                #删除'xx信息'这个sheet_name
                sheet_names.remove('xx信息')
                for sheet_name in sheet_names:
                    df_row = pd.read_excel(file_path, sheet_name=sheet_name)
                    #0表示列的位置,添加'patient_id'列
                    df_row.insert(0,'xx_id',xx_id)
                    csv_file_path = f'{result_file}{sheet_name}.csv'
                    #not os.path.exists(csv_file_path) 追加的时候,判断文件是否存在,如果不存在则添加标题行,否则不添加标题行
                    df_row.to_csv(csv_file_path, mode='a',index=False,header=(not os.path.exists(csv_file_path)))

reference
1.python to_csv追加Dataframe 表头重复问题
https://blog.csdn.net/qq_41562377/article/details/108661459?utm_source=app&app_version=4.15.2&utm_source=app
2.Dataframe 新增列的五种方法
https://blog.csdn.net/qq_35318838/article/details/102720553

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/280249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号