这几天看了看VBA,他们的操作速度慢的原因似乎是:通过操作鼠标进行选中和修改。
有点像UIBOT、selenium等程序。

然后从网上找的教程,手撕了一个python脚本。

需要加入的部分:当有同名文件的时候,需要删除源文件或者直接说:文件存在。
懒得写。

第二,默认路径是F:\k1,理论上可以写一个LOG.txt储存全局变量。下次读取的时候读取LOG文件。
懒得写。

第三,CSV在数据中有‘,’的时候会报错。会将文本直接拆分为两行
cells(1,1)=‘’张工,李工’
结果会:cells(1,1)=‘张工’,cells(1,2)=‘李工’
加入转义符即可。
已修复。代码没改。

第四,循环只有走完才执行,没有分步
懒得改。(真的会有人拿我的程序跑几个G的文件吧,不会吧不会吧)
解决:修改文件流,直接刷出。
没写。

第五,当读取文件出现bug的时候(比如说文件开启状态下),程序会死。
解决方案:手写try……except……函数。
懒得写。

反正有这些bug。
我就是不改。

from tkinter import *
from excel_fun import *
from tkinter import filedialog
from xlwt import *root="F:\\k1\\"def change_list():global rootroot=filedialog.askdirectory()root=root.replace('/','\\')+'\\'e1.delete('0.0','end')e1.insert('0.0','路径改变为'+root)#!/usr/bin/python
# -*- coding:utf8 -*-
def xls_csv():excel_list=get_xls(root)e1.delete(0.0,'end')for i in range(0,len(excel_list)):excel=excel_list[i]data=xlrd.open_workbook(excel)for j in range(0,len(data.sheets())):table = data.sheet_by_index(j)file=excel.replace('.xls','')+'-'+data.sheet_names()[j]+'.csv'e1.insert('end',file+"正在生成"+'\n')l1=open(file,mode='w+')for k in range(0,table.nrows):for s in range(0,len(table.row_values(k))):l1.write(str(table.row_values(k)[s]))if s!=(len(table.row_values(k))-1):l1.write(',')l1.write('\n')l1.close()e1.insert('end','已经生成,路径为' +root)return 1
def xls_csv_fill():excel_list=get_xls(root)e1.delete(0.0,'end')for i in range(0,len(excel_list)):excel=excel_list[i]data=xlrd.open_workbook(excel)for j in range(0,len(data.sheets())):table = data.sheet_by_index(j)file=excel.replace('.xls','')+'-'+data.sheet_names()[j]+'.csv'e1.insert('end',file+"正在生成"+'\n')l1=open(file,mode='w+')history_rows=[]for k in range(0,table.nrows):history_rows.append('')for k in range(0,table.nrows):for s in range(0,len(table.row_values(k))):data_=str(table.row_values(k)[s])if data_=='':data_=history_rows[s]l1.write(data_)if s!=(len(table.row_values(k))-1):l1.write(',')history_rows[s]=data_l1.write('\n')l1.close()e1.insert('end','已经生成,路径为' +root)return 1def xls_fill_xls():excel_list=get_xls(root)e1.delete(0.0,'end')for i in range(0,len(excel_list)):excel=excel_list[i]data=xlrd.open_workbook(excel)for j in range(0,len(data.sheets())):table = data.sheet_by_index(j)file=excel.replace('.xls','')+'-'+data.sheet_names()[j]+'.xls'book=Workbook(encoding='gbk')sheet=book.add_sheet(data.sheet_names()[j])e1.insert('end',file+"正在生成"+'\n')#l1=open(file,mode='w+')history_rows=[]for k in range(0,table.nrows):history_rows.append('')#k,s代表行、列for k in range(0,table.nrows):for s in range(0,len(table.row_values(k))):data_=table.row_values(k)[s]#l1.write(data_)if data_=="":data_=history_rows[s]sheet.write(k,s,label=data_)history_rows[s]=data_book.save(file)#l1.write('\n')#l1.close()e1.insert('end','已经生成,路径为' +root)return 1def show_list():l1=get_sheet(root)e1.delete(0.0,'end')e1.insert(0.0,l1)win=Tk()
Label(win, text="First").grid(row=0, column=0,sticky=W)
def ins():print('i')e1 = Text(win)e1.grid(row=1, column=1,rowspan=10,stick=W)
Button(win,text="更换路径",command=change_list).grid(row=0,column=2,sticky=W+E)
Button(win,text="显示待处理EXCEL",command=show_list).grid(row=1,column=2,sticky=W+E)
Button(win,text="批量生成csv",command=xls_csv).grid(row=2,column=2,sticky=W+E)
Button(win,text="批量补全csv",command=xls_csv_fill).grid(row=3,column=2,sticky=W+E)
Button(win,text="批量补全excel",command=xls_fill_xls).grid(row=4,column=2,sticky=W+E)
win.mainloop()
import os
import xlrd
root="F:\\k1\\"
list_dir="F:\\Get\\"
#get_xls格式为    ['F:\\k1\\山东亿信通网络科技有限公司(三期)1.xls', 'F:\\k1\\新建 XLS 工作表.xls', 'F:\\k1\\新建 XLSX 工作表.xlsx']
def get_xls(root):file=os.listdir(root)file_=[]for i in range(0,len(file)):#print(file[i])if file[i].find('.xls')!=-1:file_.append(root+file[i])file=file_#print(file)return filedef get_sheet(root):excel_list=get_xls(root)print(excel_list)table_list=[]table_list_=''try:for i in range(0,len(excel_list)):excel=excel_list[i]#print(excel)table_list.append(excel+'\n')data=xlrd.open_workbook(excel)#print(data.sheet_names())for j in range(0,len(data.sheet_names())):table_list.append(data.sheet_names()[j]+'\n')print(table_list)#拼接字符串显示用for i in range(0,len(table_list)):table_list_=table_list_+table_list[i]table_list_=table_list_+'/n获取excel文件结束'except:table_list_="无法获取数据,出现问题"#print(table_list_)return table_list_
#  print (get_xls(root))
#excellist是路径列表,excel是单个表格的路径,data是excel的句柄,table是table的句柄
#sheet_names()[i]当前表名字
def fun():excel_list=get_xls(root)for i in range(0,len(excel_list)):excel=excel_list[i]data=xlrd.open_workbook(excel)for j in range(0,len(data.sheets())):table = data.sheet_by_index(j)print(excel+' '+data.sheet_names()[j]+'\n')for k in range(0,table.nrows):print(table.row(k))return 1'''excel=excel_list[0]
data=xlrd.open_workbook(excel)
table=data.sheet_by_index(0)
print(table.row(0))'''

pandas就几十行,但是XXXpandas300M,咋导出啊。

python进行EXCEL表格自动填充相关推荐

  1. python 自动填excel_使用python的Excel样式自动填充

    我有一个Excel文件,包含小计和分组Region |Country |State --------|-------------|----- Americas|United States| AA | ...

  2. 怎么用python算单价和总价_怎样用EXCEL表格自动算出数量单价总金额

    展开全部 日常用EXCEL表格自动算出数量单2113价的总金额,5261需要用到EXCEL里面的公式,具体操作4102步骤如下: 1.创建1653一个EXCEL表格,在表格上输入有关于"数量 ...

  3. Python将Excel数据自动填写到Word

    文章目录 Python将Excel数据自动填写到Word 需求 实现 py文件打包成exe程序 Python将Excel数据自动填写到Word 需求 需求:批量制作劳动合同表,要从excel表格中将每 ...

  4. 使用python用什么软件-Python读写Excel表格,就是这么简单粗暴又好用

    Python读写Excel表格,就是这么简单粗暴又好用 2019-04-18 13:45:31 11点赞 107收藏 1评论 最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开 ...

  5. Python实现excel表格合并

    使用Python实现excel表格合并(程序打包:pyinstaller -F ***.py): 一个excel文件的多sheet合并 文件夹下多个Excel文件的合并(单个文件的多sheet也会自动 ...

  6. python做excel表格代码_Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...

  7. 如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件?

    如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件? 1.问题描述 2.解决过程 2.1 问题分析: 2.2 解决思路 3.运行结果 1.问题描述 最近在处理一堆工 ...

  8. 【Python数据分析】利用Python删除EXCEL表格中指定的列数据或行数据

    如何利用Python删除EXCEL表格中指定的列数据?今天与大家一起分享一下DataFrame对象的drop()函数,drop()函数可根据标签删除EXCEL表格中的列数据或行数据,其语法格式如下: ...

  9. python处理Excel表格--写入Excel表格

    文章目录 一.写入Excel数据 二.项目:更新一个电子表格 2.1 案例需求 2.2 案例源码 友情链接: python处理Excel表格–读取Excel表格 一.写入Excel数据 週用openp ...

  10. Python读写Excel表格,就是这么简单粗暴又好用

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库 Python写excel--xlwt Python写excel的难点不在构造一个wo ...

最新文章

  1. Mac OSX Versions输入username按1下都会出现2个字符,并且不能create,解决方法
  2. MFC CListCtrl控件基本使用图解
  3. 《疯狂Java讲义》7
  4. 安卓网络编程(Socket、WebView控件)
  5. 任务管理器启动资源管理器
  6. centos7 安装/卸载 任意版本的mariadb(mysql)
  7. 迄今为止我所见过的将BP算法最好的PPT
  8. OpenAI新研究:通过非监督学习提升NLP任务表现
  9. Zookeeper C API 具体应用实例
  10. VMware如何彻底卸载干净
  11. linux 添加 声卡驱动,请问在linux下如何安装声卡驱动程序
  12. HTML文件命名_批量重命名工具
  13. HSV中不同颜色对应的灰度范围
  14. Linux命令 - rmdir命令
  15. 把漫画浏览器的漫画多数据源切换给实现了一下
  16. 用Gox语言进行JSON编码与解码-GX19.1
  17. OceanBase SQL 执行计划解读(二)──── 表连接和子查询
  18. IntelliJ IDEA详细配置和使用教程
  19. 基于LabVIEW编程的气象监测系统
  20. 山东省高速公路不停车收费建设项目灾备系统招标

热门文章

  1. 依赖计算机英语作文,2011年高考英语卷写作表达题目范文汇总(39):过度依赖电脑的弊端...
  2. CentOS 8 添加中文语言包
  3. 联想笔记本e43l_联想昭阳e43l
  4. ISO光盘镜像导入到U盘的方法
  5. 谷歌浏览器开启JavaScript
  6. https证书、公钥、私钥、签名介绍
  7. 分别求数组中奇数和偶数的和
  8. Spring Boot在使用Gradle build命令卡住不动了
  9. 如何高效学习和阅读源码?
  10. 第二十四讲 一阶常微分方程组