工作中经常遇到要将十几个Excel(不管是xls、或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了
主要是利用for循环,读取每一个文件,作为df,然后再通过list的append加在一起,然后再通过pd.concat拼接起来,最后将文件读到CSV中去
import os
import pandas as pd
import numpy as np
dir = "D:\\merge"#设置工作路径
#新建列表,存放文件名(可以忽略,但是为了做的过程
如下所示:
In [3]: import pandas as pd
In [4]: a = pd.Series([1,2,3])
In [5]: b = pd.Series([2,3,4])
In [6]: c = pd.DataFrame([a,b])
In [7]: c
Out[7]:
0 1 2
0 1 2 3
1 2 3 4
不过pandas直接用列表生成dataframe只能按行生成,如果是字典可以按列生成,比如:
In [8]: c = pd.DataFrame({'a':a