yywwf2003 发表于 2021-1-18 22:51:41

利用pandas库合并EXCEL文件,有关表头问题,

本帖最后由 yywwf2003 于 2021-1-18 22:54 编辑

请教大佬们,照着网上教的代码,已经成功批量合并只有一个表头的EXCEL,如果excel表格的表头有两个或三个或多个,这个方法 就合并不了,有没有方法可以解决?谢谢大佬,好人一世平安。

import os
import pandas as pd
files = os.listdir("练习文件夹")
df = []
for i in files:
    df.append(pd.read_excel("练习文件夹\\" + i))
res = pd.concat(df)
res.to_excel("结果文件.xlsx",index=False)


excel1
序号        数学        英语
序号        数学        英语
1        1        1
1        1        1

excel2
序号        数学        英语
序号        数学        英语
1        1        1
1        1        1

像这样两个表头就合不了

yywwf2003 发表于 2021-1-19 08:13:39

跪求大佬解答,谢谢

suchocolate 发表于 2021-1-19 15:44:01

pandas读取excel默认第一行是行标签,第二行开始都是数据。
如果数据从第三行开始,那么在拼接的时候手工控制一下。import os
import pandas as pd
files = os.listdir("练习文件夹")
df = []
for i in files:
    df.append(pd.read_excel("练习文件夹\\" + i))   # 0行和1行重复,所以不要0行,从1行取
res = pd.concat(df)
res.to_excel("结果文件.xlsx",index=False)

yywwf2003 发表于 2021-1-19 22:30:00

本帖最后由 yywwf2003 于 2021-1-20 00:07 编辑

suchocolate 发表于 2021-1-19 15:44
pandas读取excel默认第一行是行标签,第二行开始都是数据。
如果数据从第三行开始,那么在拼接的时候手工 ...

不好意思,大佬,表达不太正确,正确的是,往往我们需要合并的表头不单单只有一行的,或能有两行或三行,像下面这样,求大佬帮解答一下,非常感谢

广东某学院      注:这个广东某学院是三个合并在一起的单元格
理工        专业        会计
序号        数学        英语
1        1        1
2        2        2

suchocolate 发表于 2021-1-20 08:40:45

yywwf2003 发表于 2021-1-19 22:30
不好意思,大佬,表达不太正确,正确的是,往往我们需要合并的表头不单单只有一行的,或能有两行或三行 ...

pandas强项是处理数据,并不擅长处理excel这种应用型表格。
如果单纯是处理表格,建议用openpyxl。
页: [1]
查看完整版本: 利用pandas库合并EXCEL文件,有关表头问题,