python学习-109-多个CSV文件的合并
前言
本片文章是对CSV文件的合并进行操作,适用场景:多个职工和学生的数据进行提交,然后要做一个汇总,使用Excel进行复制粘贴实在是太麻烦了,所以就使用python的pandas进行代码的编写,包括了使用try except进行简单的异常处理,错误信息提示等。程序分为两个:
(1):源代码执行的
(2):图形界面执行的
1.源代码执行
#coding:utf-8
import pandas as pd
import os
import datetime
def csv_fileMarge(inputfilePath, outputfile):'''执行csv utf-8格式的合并:param inputfilePath: 文件目录:param outputfile: 最终文件目录与名字:return:'''informationLog=''#定义列名columns = ['姓名', '学校', '学号', '成绩', '四级', '六级', '性别', '985', '211']dataframe = pd.DataFrame([columns])dataframe.to_csv(outputfile, encoding='utf-8',index=False, header=0)#合并文件rightCount=0errorCount=0for file in os.listdir(inputfilePath):try:data=pd.read_csv(inputfilePath+'/'+file,encoding='utf-8')dataframe = pd.DataFrame(data)dataframe.to_csv(outputfile, mode='a', index=False, encoding='utf-8', header=0)rightCount+=1except:print(file + '文件有误')errorCount+=1print('文件合并完成 ',rightCount,'个文件成功',errorCount,'个文件有误')def gettime():''':return: 当前时间的规范形式'''now_time = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')return now_timeif __name__ == '__main__':inputfilePath='F:/csv文件合并'outputfile='data2/合并文件'+gettime()+'.csv'csv_fileMarge(inputfilePath,outputfile)
2.图形界面GUI执行
#coding:utf-8
import os
import wx
import pandas as pd
import os
import datetime
contents='运行完成'
#选择文件
def OnOpen(a):dialog = wx.DirDialog(None, '选择一个文件目录',os.getcwd())if dialog.ShowModal() == wx.ID_OK:filename.SetValue(dialog.GetPath())dialog.Destroy()def OnSave(a):filePath=filename.GetValue()contents.SetValue(filePath)# contents=contents+'增加'def gettime():''':return: 当前时间的规范形式'''now_time = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')return now_timedef csv_fileMarge(a):inputfilePath=filename.GetValue()outputfile='E:/CSV文件合并/合并文件'+gettime()+'.csv'#定义列名columns = ['姓名', '学校', '学号', '成绩', '四级', '六级', '性别', '985', '211']dataframe = pd.DataFrame([columns])dataframe.to_csv(outputfile, encoding='utf-8',index=False, header=0)#合并文件informationLog = ''rightCount=0errorCount=0for file in os.listdir(inputfilePath):try:data=pd.read_csv(inputfilePath+'/'+file,encoding='utf-8')dataframe = pd.DataFrame(data)dataframe.to_csv(outputfile, mode='a', index=False, encoding='utf-8', header=0)rightCount+=1except:# print(file + '文件有误')informationLog += file + ' 文件有误, 'errorCount+=1# print('文件合并完成 ',rightCount,'个文件成功',errorCount,'个文件有误')informationLog += ' 文件合并完成: ' + str(rightCount) + ' 个文件成功, ' + str(errorCount) + ' 个文件有误 'contents.SetValue(informationLog)#------------------------------------------------------------------------------------GUI编程---
#定义程序类对象
app = wx.App()#创建顶层窗口
win = wx.Frame(None, title='CSV文件合并 结果目录:E:/CSV文件合并 (先把 E:/CSV文件合并 文件夹建立)',size=(600, 400))
#面板
bkg = wx.Panel(win)loadButton = wx.Button(bkg,label = u'选择文件目录')
saveButton = wx.Button(bkg,label = u'合并')
loadButton.Bind(wx.EVT_BUTTON, OnOpen)
saveButton.Bind(wx.EVT_BUTTON, csv_fileMarge)#显示文件路径
filename = wx.TextCtrl(bkg)
#显示文章抽取结果
contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE)hbox = wx.BoxSizer()hbox.Add(filename, proportion=1,flag=wx.EXPAND)
hbox.Add(loadButton, proportion=0, flag=wx.LEFT, border=5)
hbox.Add(saveButton, proportion=0, flag=wx.LEFT, border=5)vbox = wx.BoxSizer(wx.VERTICAL)
vbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)
vbox.Add(contents, proportion=1, flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=5)bkg.SetSizer(vbox)win.Show()
app.MainLoop()
#------------------------------------------------------------------------------------GUI编程---
3.python打包exe文件
1)安装两个包
pip install pywin32
pip install PyInstaller
2)命令
pyinstaller -F -i ico图片路径 py文件路径
#如下:
pyinstaller -F -w -i manage.ico app.py-F:打包为单文件
-w:Windows程序,不显示命令行窗口
-i:是程序图标
app.py是你要打包的py文件
如果出现错误:在使用命令的时候可以先把-w去掉 然后双击exe文件时,看命令dos界面的出错的信息提示在去更改
python打包详解可以看以下博客:
https://www.cnblogs.com/XJT2018/p/9865239.html
https://www.cnblogs.com/MrRead/p/8393352.html
https://www.cnblogs.com/botoo/p/9644546.html
4.GUI运行结果显示
python学习-109-多个CSV文件的合并相关推荐
- Python学习系列(五)(文件操作及其字典)
Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- python输出csv文件-Python之读取与写入CSV文件
原标题:Python之读取与写入CSV文件 本文作者:闫续文 文字编辑:张梦婷 技术总编:张学人 有问题,不要怕!访问 CSV(Comma-Separated Values)格式是电子表格和数据库最常 ...
- python学习[第十四篇] 文件的输入与输出
python学习[第十四篇] 文件的输入与输出 标准文件类型 一般来说只要程序一执行,就会访问3个文件: 标准输入(键盘) stdin 标准输出(显示器缓冲区) stdout 默认输出到屏幕 标准错误 ...
- pandas读取csv写入mysql_使用python的pandas库读取csv文件保存至mysql数据库
第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.cs ...
- python学习记录part10:读写文件
python学习part10:第十章 文件和异常 教材:<python:从入门到实践> 今天有别的学习任务,相应的 自由学习时间也就少了,所以今天学习内容不多,估计以后也不能保持很快的进度 ...
- Python把对应格式的csv文件转换成字典类型存储脚本的方法_python_脚本之家
该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我! CSV的数据格式截图如下: readDataToDic.py源代 ...
- python学习——tsv文件批量转为csv文件、csv文件列合并
写在前面--近日在处理数据的时候发现有的文件为csv文件,有的为tsv文件,大概搜了一下了解到:TSV是用制表符('\t')作为字段值的分隔符:CSV是用半角逗号(',')作为字段值的分隔符.http ...
- csv文件python是怎么输入的,python怎么读取和写入csv文件
Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入. 写入CSV文件impo ...
最新文章
- 6月20日截止,请勿错过热心肠奖学金!
- gcc与gdb,函数小结
- 关于IT企业如何建立内部wiki
- symfony学习笔记——路由
- 【TensorFlow】——合并与分割(stack、concat、split)
- 员工30年换150万补偿款!佳能珠海关厂 因给太多遭痛骂:恶意拉高赔偿标准
- 19.华为笔试题整理
- win10家庭版升级到专业版
- Linux中如何设置静态IP和动态ip设定
- 机器学习(6)——凸优化理论(一)
- type 与 interface 的区别
- 《计算机系统与网络安全技术》一页纸开卷/期末复习内容
- Windows内存清理工具实现——从现象到本质
- python IDLE设置了清屏插件,不起作用怎么办
- JAVA程序设计基础期末复习资料
- 字典学习/稀疏表示学习笔记
- 26个新鲜有魅力的自适应网站设计实例
- 以太网控制器学习(ENC28J60为例)
- MySQL笔记(基础)
- U盘写保护怎么办 -----成功解除保护