python3合并excel表格简述

需求:
多个excel表格,表头相同,表格内容不同。将多个合并成一个表格。
系统
macOS 11
版本:
python3.9
代码:

import pandas as pd
import os

#文件路径
file_dir = r'/Users/xxx/Desktop/合并excel代码'
#构建新的表格名称
new_filename = file_dir + '/new_file.xlsx'
#找到文件路径下的所有表格名称,返回列表
file_list = os.listdir(file_dir)
new_list = []

for file in file_list:
    #重构文件路径
    file_path = os.path.join(file_dir,file)
    #将excel转换成DataFrame
    dataframe = pd.read_excel(file_path)
    #保存到新列表中
    new_list.append(dataframe)

#多个DataFrame合并为一个
df = pd.concat(new_list)
#写入到一个新excel表中
df.to_excel(new_filename,index=False)

遇到的坑:
1.纯新手,完全不会python,pandas需要安装。安装命令:pip3 install pandas。
2.安装之后运行,提示:ImportError: Missing optional dependency ‘xlrd’. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
3.接着安装xlrd,pip3 install xlrd。发现还是不行:ValueError: Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead.
4.接着安装openpyxl。pip3 install openpyxl。再运行
5.最坑的来了,提示:ValueError: File is not a recognized excel file。明明文件夹中文件都是.xlsx,然后百度查了一堆,比如不能用wps要用word,比如xlrd不能和openpyxl混用等等等。试了一大圈之后发现,macOS系统中文件夹里有一个隐藏的.DS_Store,(一万匹草泥马!!!)删掉这个文件,再运行代码。
6.成功解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值