对数据库导出的数据进行处理
1、合并csv文件
前提是所有的csv表头一致
# -*- coding: utf-8 -*-
import unicodecsv
import pandas as pd
import os
Folder_Path = r'path1' #要拼接的文件夹及其完整路径,注意不要包含中文
SaveFile_Path = r'path2' #拼接后要保存的文件路径
SaveFile_Name = r'name.csv' #合并后要保存的文件名
#修改当前工作目录
os.chdir(Folder_Path)
#将该文件夹下的所有文件名存入一个列表
file_list = os.listdir()
print(file_list) #显示文件夹下面所有内容
#读取第一个CSV文件并包含表头
#编码默认UTF-8,若乱码自行更改
df = pd.read_csv(Folder_Path +'\\'+ file_list[0],engine='python',encoding="utf_8_sig")
#将读取的第一个CSV文件写入合并后的文件保存
df.to_csv(SaveFile_Path+'\\'+ SaveFile_Name,encoding="utf-8_sig",index=False)
#循环遍历列表中各个CSV文件名,并追加到合并后的文件
for i in range(1,len(file_list)):
df = pd.read_csv(Folder_Path + '\\'+ file_list[i],engine='python',encoding="utf_8_sig")
print(file_list[i]+"写入成功")
df.to_csv(SaveFile_Path+'\\'+ SaveFile_Name,encoding="utf_8_sig",index=False, header=False, mode='a+')
2、合并Excel文件
前提是所有的表格表头一致
import pandas as pd
import os
rootpath = os.getcwd()
abspath = os.path.dirname(rootpath)
# 桌面创建一个excel的文件夹,把要合并的文件放在excel里面
excel_dir = r'path' # 包含Excel的文件夹路径
os.chdir(excel_dir)
li = []
for i in os.listdir(excel_dir):
li.append(pd.read_excel(i))
print('已合并'+i)
# 合并完成后的excel,是放在excel文件夹下的
writer = pd.ExcelWriter('name.xlsx')
pd.concat(li).to_excel(writer,'Sheet1',index=False) # False表示没有最左侧的索引
writer.save()
print('合并完成')
3、合并txt文件
# -*- coding:utf-8 -*-
import os
# 获取目标文件夹的路径
path = r"C:\Users\Lee\Desktop\te"
# 获取当前文件夹中的文件名称列表
filenames = os.listdir(path)
result = r"merge.txt" # 创建merge.txt
file = open(result, 'w+', encoding="utf-8")
# 向文件中写入字符, 先遍历文件名
for filename in filenames:
filepath = path + '/'
filepath = filepath + filename
# 遍历单个文件,读取行数
for line in open(filepath, encoding="utf-8"):
file.writelines(line)
print(filename+"写入成功")
file.write('\n')
# 关闭文件
file.close()
接下来就是愉快的分析啦。
over is Over——Lee