分成以下三种情况:
1、合并同一文件夹下的所有csv文件到一个excel多个sheet
2、写成for循环的形式
3、python合并csv、excel等文件
写在前面:
Excel是一个二进制文件,它保存有关工作簿中所有工作表的信息
CSV代表Comma Separated Values 。这是一个纯文本格式,用逗号分隔一系列值
Excel不仅可以存储数据,还可以对数据进行操作
CSV文件只是一个文本文件,它存储数据,但不包含格式,公式,宏等。它也被称为平面文件
Excel是一个电子表格,将文件保存为自己的专有格式,即xls或xlsx
CSV是将表格信息保存为扩展名为.csv的分隔文本文件的格式
一、合并同一文件夹下的所有csv文件到一个excel多个sheet
注意:需保证该文件夹都为csv文件类型,否则报错
# 1. 获取一个要合并的文件夹的名称:
folder_name = "d:/user/6294/desktop/账单明细/"
# 2. 获取那个文件夹中所有的文件名字:
file_names = os.listdir(folder_name)
#3.创建一个输出表
writer = pd.ExcelWriter('d:/user/6294/desktop/账单明细/output1.xlsx')
for file_name in file_names:
data = pd.read_csv('d:/user/6294/desktop/账单明细/'+file_name,encoding='unicode_escape')
data.to_excel(writer,file_name,index=False)
#4.保存,并关闭当前文件
print('数据输出成功')
writer.save()
writer.close()
数据输出成功
执行代码,回到原文件夹,发现多了一个output1.xlsx,大功告成!
二、将以上方法写成for循环
本代码仅就csv文件写入循环,如果有excel可以自行添加if进行逻辑判断文件类型后再写
import pandas as pd
#创建一个输出文件
writer = pd.ExcelWriter('d:/user/6294/desktop/账单明细/output2.xlsx')
#此处假定test1、test2、test3为三个本地csv文件
tags = ['202201_detail_new','202202_detail_new','202203_detail_new']
#将多个csv文件写入同一个excel表多个sheet中
for tag_value in tags:
data = pd.read_csv('d:/user/6294/desktop/账单明细/'+tag_value+'.csv',encoding='unicode_escape')
data.to_excel(writer,tag_value,index=False)
#保存
writer.save()
执行代码,回到原文件夹,发现多了一个output2.xlsx,大功告成!
三、python合并csv、excel等文件
import pandas as pd
#创建一个输出文件
writer = pd.ExcelWriter('d:/user/6294/desktop/账单明细/output3.xlsx')
data = pd.read_table('d:/user/6294/desktop/账单明细/202201_detail_new.csv',sep=',',encoding='GBK')
data.to_excel(writer,'data',index=False)
base = pd.read_excel('d:/user/6294/desktop/账单明细/202207_detail_new.excel','Sheet1')
base.to_excel(writer,'base',index=False)
base1 = pd.read_csv('d:/user/6294/desktop/账单明细/202203_detail_new.csv')
base1.to_excel(writer,'base1',index=False)
#保存
writer.save()
执行代码,回到原文件夹,发现多了一个output3.xlsx,大功告成!