前言

本片文章是对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文件的合并相关推荐

  1. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  2. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  3. python输出csv文件-Python之读取与写入CSV文件

    原标题:Python之读取与写入CSV文件 本文作者:闫续文 文字编辑:张梦婷 技术总编:张学人 有问题,不要怕!访问 CSV(Comma-Separated Values)格式是电子表格和数据库最常 ...

  4. python学习[第十四篇] 文件的输入与输出

    python学习[第十四篇] 文件的输入与输出 标准文件类型 一般来说只要程序一执行,就会访问3个文件: 标准输入(键盘) stdin 标准输出(显示器缓冲区) stdout 默认输出到屏幕 标准错误 ...

  5. pandas读取csv写入mysql_使用python的pandas库读取csv文件保存至mysql数据库

    第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.cs ...

  6. python学习记录part10:读写文件

    python学习part10:第十章 文件和异常 教材:<python:从入门到实践> 今天有别的学习任务,相应的 自由学习时间也就少了,所以今天学习内容不多,估计以后也不能保持很快的进度 ...

  7. Python把对应格式的csv文件转换成字典类型存储脚本的方法_python_脚本之家

    该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我! CSV的数据格式截图如下: readDataToDic.py源代 ...

  8. python学习——tsv文件批量转为csv文件、csv文件列合并

    写在前面--近日在处理数据的时候发现有的文件为csv文件,有的为tsv文件,大概搜了一下了解到:TSV是用制表符('\t')作为字段值的分隔符:CSV是用半角逗号(',')作为字段值的分隔符.http ...

  9. csv文件python是怎么输入的,python怎么读取和写入csv文件

    Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入. 写入CSV文件impo ...

最新文章

  1. 6月20日截止,请勿错过热心肠奖学金!
  2. gcc与gdb,函数小结
  3. 关于IT企业如何建立内部wiki
  4. symfony学习笔记——路由
  5. 【TensorFlow】——合并与分割(stack、concat、split)
  6. 员工30年换150万补偿款!佳能珠海关厂 因给太多遭痛骂:恶意拉高赔偿标准
  7. 19.华为笔试题整理
  8. win10家庭版升级到专业版
  9. Linux中如何设置静态IP和动态ip设定
  10. 机器学习(6)——凸优化理论(一)
  11. type 与 interface 的区别
  12. 《计算机系统与网络安全技术》一页纸开卷/期末复习内容
  13. Windows内存清理工具实现——从现象到本质
  14. python IDLE设置了清屏插件,不起作用怎么办
  15. JAVA程序设计基础期末复习资料
  16. 字典学习/稀疏表示学习笔记
  17. 26个新鲜有魅力的自适应网站设计实例
  18. 以太网控制器学习(ENC28J60为例)
  19. MySQL笔记(基础)
  20. U盘写保护怎么办 -----成功解除保护

热门文章

  1. [千峰安全篇9]Public Key Infrastructure
  2. VMware克隆Linux虚拟机
  3. 高校数字化实验室(实训室)综合管理系统
  4. 关于征集全国信标委人工智能分委会知识图谱工作组成员单位的通知
  5. hive 压缩格式汇总
  6. 咨询报告中常用的英文缩写
  7. 基于PaddleSpeech搭建个人语音听写服务
  8. k8s与日志--journalbeat源码解读 1
  9. PHP与SEO,应用curl及正则获取搜狗搜索相关关键词
  10. others:南怀瑾先生讲:呵呼嘘吹嘻呬六字诀养生诀的要领---《南怀瑾与彼得圣吉》