凋零落叶 发表于 2022-3-27 00:47:49

如何将一个文件夹的所有excel表格横向合并

求如何将一个文件夹的所有excel表格横向合并

特点是博爱 发表于 2022-3-28 16:24:22

之前做过类似的事情,希望以下代码能帮助到你
import os
import pandas as pd

for root, dirs, files in os.walk(r"C:\Users\lenovo\Desktop\test"):
    files_name = files # list
    for each in files_name:
      # 拼接出文件夹中excel的path
      path = r"C:\Users\lenovo\Desktop\test" + "\\" + each
      # 以第一个excel中内容为基,将其他excel内容不断拼接上去
      if files_name.index(each) == 0:
            DF = pd.read_excel(path)
      else:
            df = pd.read_excel(path)
      # axis=1代表横向拼接,0代表纵向累叠
            DF = pd.concat(, axis=1)
    # 把拼接完的dataframe形式写入一个新的excel中
    DF.to_excel(r"C:\Users\lenovo\Desktop\a.xlsx")

凋零落叶 发表于 2022-3-30 16:09:13

import os
import pandas as pd

path = r'C:/Users/Betterman/Desktop/1/2021.4月份红外'# 获取文件目录,下面是所有的要合并的csv文件

# 新建列表存放每个文件数据(依次读取多个相同结构的Excel文件并创建DataFrame)
DFs = []   #存放多个DataFrame

for root, dirs, files in os.walk(path):# 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
    for file in files: #files是包含所有文件名的一个列表
      # print(root)
      file_path = os.path.join(root, file)#路径拼接;os.path.join()函数:连接两个或更多的路径名组件
      # print(file_path)
      df = pd.read_csv(file_path, encoding="gbk", names=)# 将excel转换成DataFrame
      DFs.append(df)# 多个df的list
# 将多个DataFrame合并为一个
df = pd.concat(DFs, axis = 1, ) #concat:合并

# 写入excel或者csv文件,不包含索引数据
# df.to_excel(r'D:\python脚本\csv合并结果1.xlsx', index=False)#
df.to_csv(r'C:/Users/Betterman/Desktop/1/2021.4月份红外/csv合并结果.csv', index=False,header=None)#写入csv文件中比较好,单元格格式不会有其他格式;
print(files) #打印出文件拼接顺序
页: [1]
查看完整版本: 如何将一个文件夹的所有excel表格横向合并