脚本宝典收集整理的这篇文章主要介绍了python--excel文件格式转换,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
首先还是要把标题内容给解决,看代码之前,一定要看完下面的话。
大概就是说:不支持的格式,或损坏的文件
其实文件没有损坏,也是可以打开的格式。在我手动打开的时候会有这种提示:
保存时会有这种提示:
然后另存为之后,再打开就没有这种提示了(这种提示Office打开也是会有的),pandas也可以正常读取了,
然而如果有100个这种文件呢,保存100次?
怎么可能,学编程不就是为了解决,无聊重复繁琐的事情,我就想到了用代码进行格式转换。
开始做格式转换的时候,发现在格式转换时会打开文件,还是会有弹窗,导致运行异常,无法转换。
想到解决办法是,启动两个进程,一个用来打开文件转换,一个用来点击确定,取消弹框,问题就解决了。
1 import win32com.client as win32 2 import os 3 import Sys 4 import time 5 import win32api 6 import threading 7 import pythoncom 8 9 # 获取桌面路径‘文档格式转换’文件夹中所有文件 10 desktop = os.path.join(os.path.expanduser("~"), 'Desktop') 11 file_url = desktop+'\'+'文档格式转换' 12 if not os.path.exists(file_url): 13 os.mkdir(m2) 14 list_file = os.listdir(file_url) 15 16 # 根据文件多少进行循环按键 Enter 17 def enter(): 18 for i in range(len(list_file)): 19 time.sleep(3) 20 win32api.keybd_event(13,0,0,0) 21 22 # excel 文件格式转换,并另存为到‘待处理数据’文件夹中 23 def filegeshi(): 24 file_PEnding = desktop + '\待处理数据' 25 if not os.path.exists(file_pending): 26 os.mkdir(file_pending) 27 # 循环文件列表,并循环转换文件 28 29 for ex_name in list_file: 30 fname = file_url + "\" + ex_name # 源文件路径 31 save_as_file = file_pending + "\" + ex_name # 保存文件路径 32 pythoncom.CoInITialize() # 不加这句话会报错,不知为什么 33 excel = win32.gencache.Ensuredispatch('Excel.Application') 34 wb = excel.WorkBooks.Open(fname) # 打开要转换的excel 35 wb.SaveAs(save_as_file, FileFormat = 51) # 文件格式 = 51 为 .xlsx 格式 36 # wb.SaveAs(save_as_file, FileFormat = 56) # 文件格式 = 56 为 .xls 格式 37 wb.Close() 38 excel.Application.Quit() 39 40 # 主程序 41 def file_conversion(): 42 # 如果‘文档格式转换‘文件夹中为空,则不处理,退出程序 43 if len(list_file) > 0: 44 # 开启两个线程,一个用来打开文件,一个用来按键 Enter 45 # 关键点 .join(),设置让主线程等待所有的子线程都执行完毕,再执行 46 thread_1 = threading.Thread(target=filegeshi) 47 thread_2 = threading.Thread(target=enter) 48 thread_1.start() 49 thread_2.start() 50 thread_1.join() 51 thread_2.join() 52 else: 53 sys.exit() 54 file_conversion()
最新pandas在读取“.xlsx”时,会报错:xlrd.biffh.XLRDError: Excel xlsx file; not supported
原因为,xlrd更新到了2.0.1版本,只支持.xls文件格式,
解决办法,可以先卸载当前版本xlrd,安装旧版本的 xlrd,
pip uninstall xlrdpip install xlrd==1.2.0
好了,就这些吧,如有新的问题,再来记录填坑
以上是脚本宝典为你收集整理的python--excel文件格式转换全部内容,希望文章能够帮你解决python--excel文件格式转换所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。