用Python pandas合并多个csv文件

有时候需要将多个表头一致的文件合并成一个,手动打开所有表一个一个复制 粘贴到总表中,繁琐且容易出错,写个简单代码,一键将所有的csv文件合并

"""
Created on Wednesday, March 25, 2020 at 12:14:56

@author: qinghua mao
"""

import os
import pandas as pd

path = r'D:\python脚本\合并csv'  # 获取文件目录,下面是所有的要合并的csv文件

# 新建列表存放每个文件数据(依次读取多个相同结构的Excel文件并创建DataFrame)
DFs = []   #存放多个DataFrame

for root, dirs, files in os.walk(path):  # 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
    for file in files: #files是包含所有文件名的一个列表
        # print(root)
        file_path = os.path.join(root, file)  #路径拼接;os.path.join()函数:连接两个或更多的路径名组件
        # print(file_path)
        df = pd.read_csv(file_path, encoding="gbk")  # 将excel转换成DataFrame
        DFs.append(df)  # 多个df的list
# 将多个DataFrame合并为一个
df = pd.concat(DFs) #concat:合并

# 写入excel或者csv文件,不包含索引数据
# df.to_excel(r'D:\python脚本\csv合并结果1.xlsx', index=False)  #
df.to_csv(r'D:\python脚本\csv合并结果.csv', index=False),#写入csv文件中比较好,单元格格式不会有其他格式;
                                                            #如果合并的文件中文是乱码,可以指定编码格式;例如:encoding="gbk"

需要注意的是,合并后存在多行表头,需要手动删除除第一行外的所有表头
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值