很多时候,数据的来源都是多个xls或者csv文件。我们在做数据处理的时候,为了避免利用Excel手动合并数据,常常借助于python进行处理。
例如,1.xls里面有3个列,2.xls里面有2个列,3.xls里面有3个列,4.xls里面有3个列,4.xls里面有2个列。我们想把每个文件中的列数据单独提出来,整合成一个新的列。
那我们就这么做:
import pandas as pd
data1= pd.read_excel('E:\1.xls') # 读取文件
data2=pd.read_excel('E:\2.xls')
data3=pd.read_excel('E:\3.xls')
data4=pd.read_excel('E:\4.xls')
data5=pd.read_excel('E:\5.xls')
frames = [data1, data2, data3, data4, data5]
frame1 = pd.concat(frames, axis=1) # axis按列合并
print(frame1)
如果是读取csv文件就是:data1= pd.read_csvl('E:\1.csv'),后面一致
如果想合并单个列里面的指定内容,那就在上面的基础上稍稍改动:
import pandas as pd
data1= pd.read_excel('E:\1.xls')['列的名字']
data2=pd.read_excel('E:\2.xls')['列的名字']
data3=pd.read_excel('E:\3.xls')['列的名字']
data4=pd.read_excel('E:\4.xls')['列的名字']
data5=pd.read_excel('E:\5.xls')['列的名字']
frames = [data1, data2, data3, data4, data5]
frame1 = pd.concat(frames, axis=1) # axis = 0 就是按行合并,你也可以去掉原来的列名,就变成
frame1 = pd.concat(frames, ignore_index=True, axis=1)
print(frame1)
总结:按行按列整合通过设置axis=0和1来进行。