文件的合并这里要用到os库的walk和path功能。
例如我们现在有这几个文件,现在想要将它们合并(纵向合并)成一个文件要怎么处理呢?


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

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

然后利用os库的walk功能遍历文件夹里的所有文件,并读取文件名字。
os.path.join能够将文件夹的路径和文件名字合并成每个文件的完整路径,然后将每个文件读取,在与空的DataFrame合并。

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

以上操作有几点需要注意的:
1、以上读取合并的是CSV文件,所以在文件路径中不能存在中文字符,否则会报错;
2、如果读取Excel文件的话,路径中可以存在中文字符不会受到影响;
3、在一个文件夹内只能有一种格式的文件,如果有多种格式的文件也会报错;
4、读取文件后出现乱码可以指定编码格式;
5、读取文件里如果有子文件夹,那么子文件夹的文件也会被一并的读取并合并。
以上说的是纵向合并,那么如果要进行横向合并,又要怎么操作呢?
提示:横向合并只需要将append替换成concat就可以了。

网友评论