Pandas 合并多个 (300多个) Excel 文件,并输出为 CSV 文件
爬虫同事帮忙爬了个网站信息,网站上有300多页,每页生成一个 Excel 文件,为方便处理,我需要合并成一个 all.csv 文件。
不废话,上代码:
import pandas as pd import os def process_data(): folder_path = r'/Users/example' # 要拼接的文件夹及其完整路径,注意不要包含中文 saveFile_path = r'/Users/example/' #拼接后要保存的文件路径 saveFile_name = r'all.csv' #合并后要保存的文件名 # 修改当前工作目录 os.chdir(folder_path) # 将该文件夹下的所有文件名存入一个列表 file_list = os.listdir() # print(file_list) # 读取第一个CSV文件并包含表头,默认编码方式为 UTF-8 df = pd.read_excel(folder_path + '/'+ file_list[0]) print(df) # 将读取的第一个 CSV 文件写入合并后的文件保存 df.to_csv(saveFile_path + saveFile_name,index=False) # 遍历列表中所有 CSV 并追加到合并文件的末尾 for i in range(1,len(file_list)): print(folder_path + '/'+ file_list[i]) # 如果是以下两个文件,则跳过 if file_list[i] == 'all.csv' or file_list[i] == '.DS_Store': pass else: # 不包含表头 df = pd.read_excel(folder_path + '/'+ file_list[i], header = 1) df.to_csv(saveFile_path + saveFile_name,index=False, header=False, mode='a+') if __name__ == '__main__': process_data()
代码思想有借鉴 https://blog.csdn.net/kxw1994/article/details/76465152 中的方法,特此感谢。
以上,问题解决~