美文网首页Python数据分析我爱编程
12、pandas将多个具有相同列名的文件合并成一个文件

12、pandas将多个具有相同列名的文件合并成一个文件

作者: 让数据告诉你 | 来源:发表于2017-12-26 15:29 被阅读0次

    文件的合并这里要用到os库的walk和path功能。

    例如我们现在有这几个文件,现在想要将它们合并(纵向合并)成一个文件要怎么处理呢?

    文件名 文件的格式都是这样的

    首先,我们要引入pandas和os库,并定义好文件夹的路径:

    定义存放文件的路径

    其次,我们要新建一个空的DataFrame,列名设置为空就会默认为原始表格的列名。

    新建一个空的 DataFrame

    然后利用os库的walk功能遍历文件夹里的所有文件,并读取文件名字。

    os.path.join能够将文件夹的路径和文件名字合并成每个文件的完整路径,然后将每个文件读取,在与空的DataFrame合并。

    遍历所有文件

    这样子就可以把文件夹内所有的文件进行合并了。

    合并后的文件

    以上操作有几点需要注意的:

    1、以上读取合并的是CSV文件,所以在文件路径中不能存在中文字符,否则会报错;

    2、如果读取Excel文件的话,路径中可以存在中文字符不会受到影响;

    3、在一个文件夹内只能有一种格式的文件,如果有多种格式的文件也会报错;

    4、读取文件后出现乱码可以指定编码格式;

    5、读取文件里如果有子文件夹,那么子文件夹的文件也会被一并的读取并合并。

    以上说的是纵向合并,那么如果要进行横向合并,又要怎么操作呢?

    提示:横向合并只需要将append替换成concat就可以了。

    使用concat进行横向合并

    相关文章

      网友评论

        本文标题:12、pandas将多个具有相同列名的文件合并成一个文件

        本文链接:https://www.haomeiwen.com/subject/vgxjgxtx.html