python打不开xls文件,用wps下vba解决问题

  • 用了常用的三种python读写xls文件的方法都报错
    • xlrd
    • openpyxl
    • pandas
    • 原因
    • 解决方法
      • 用vba实现合并文件夹中所有excel文件

用了常用的三种python读写xls文件的方法都报错

xlrd

代码

book = xlrd.open_workbook(filename)

报错

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'<html xm'

openpyxl

代码

book = openpyxl.load_workbook(filename)

报错

openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old .xls file format, please use xlrd to read this file, or convert it to the more recent .xlsx file format.

pandas

代码

book = pd.read_excel(filename)

报错

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'<html xm'

原因

可能是由于要打开的xls文件不是标准的97-03版本

解决方法

用vba实现功能即可。例如:

用vba实现合并文件夹中所有excel文件

打开wps表格,在文件夹新建一个excel文件,点击“开发工具”,点击“VB编辑器”,右键“Project“,“插入”——>“模块”,编辑代码,点击“运行”。

Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub

python打不开xls文件,wps下用vba实现合并文件夹中所有excel文件相关推荐

  1. r读取文件夹下的所有csv文件_[R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。...

    解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独 ...

  2. python找到文件夹下指定文件类型_python 读取指定文件夹中的指定文件类型的文件名...

    C# 读取指定文件夹中的全部文件,并按规则生成SQL语句! 本实例的目的在于: 1 了解怎样遍历指定文件夹中的全部文件 2 控制台怎样输入和输出数据 代码: using System; using S ...

  3. python拆分excel的sheet为单文件_WPS 2019 多个sheet表拆分成独立的excel文件

    参考: 场景:将多个sheet表拆分成独立的excel文件 一.安装VB工具: 默认情况下:wps -- 开发工具 --- VB 编辑器是灰选状态(即不可用状态),此时需要先安装vb工具:VBA Fo ...

  4. python批量处理txt_浅谈Python批处理文件夹中的txt文件

    1 文件处理形式 近期由于处理大量数据,所以对于采用python进行处理文件的一些操作也打算整理一下:接下来主要说一下如何处理目录下的一系列txt文件.首先看一下我们将要处理目录下的15个类似的数据文 ...

  5. python从文件夹中提取指定文件_使用Python实现从各个子文件夹中复制指定文件的方法...

    之前用来整理图片的小程序,拿来备忘,算是使用Python复制文件的一个例子. # -*- coding: utf-8 -*- #程序用来拷贝文件并输出图片采集日期等其他信息到Excel中 #文件夹结构 ...

  6. 在python中创建Excel文件并写入数据

    来源:<在python中创建Excel文件并写入数据> python中的包xlwt和xlsxwriter都是比较方便创建excel文件并写入数据的. xlwt中: 通过xlwt.Workb ...

  7. python爬虫入门练习:BeautifulSoup爬取猫眼电影TOP100排行榜,pandas保存本地excel文件

    传送门:[python爬虫入门练习]正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件 对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致 ...

  8. 合并文件夹内所有Excel文件(目前仅限于合并单层文件夹,如果文件夹下面有文件夹,暂未加入此功能,默认合并所有文件的所有Sheet)优化文件名_变更为:文件夹名字 + 合并的文件-(xls+xlsx)

    几经修改,终于算是成为自己较为满意的一个VBA程序(2020-6-6修正) 然,因个人才疏学浅,如有疏漏,希望各位前辈多多指正~在下先行谢过~ 1.考虑到Excel新建Sheet的命名规则 2.考虑到 ...

  9. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)

    R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录

最新文章

  1. 15瓶饮料4个空瓶换一瓶_2021江苏公务员考试行测技巧:你会用“空瓶”换水吗?...
  2. CodeChef--EQUAKE
  3. javascript:document的属性和方法,title,innerHTML,
  4. Redis热点Key发现及常见解决方案
  5. 第十六 django进一步了解
  6. 第一个 mac 程序 Create-JSON-Model
  7. (转载)机器学习知识点(十三)吉布斯采样法(Gibbs Sampling)
  8. Python-基础知识-字典dict和集合set
  9. Promise处理前端异步事件
  10. Android中常用到的权限
  11. 分别统计出其中英文字母、空格、数字和其它字符的个数 matlab 程序,编写一段程序,要求先输入一行字符,然后分别统计出其中英文...
  12. 掌握 React 与 React Native
  13. Mac重复文件清理软件—Cisdem Duplicate Finder for mac
  14. 一个广为流传的关于项目管理的通俗讲解
  15. 5G概念被热炒,运营商吃相不要太难看
  16. Ubuntu 定时开关机
  17. 《Go语言实战》学习笔记——包
  18. 802d简明调试手册_西门子数控系统828D简明调试手册.pdf
  19. WebFlux 响应式编程介绍及简单实现
  20. 2_linux-常用命令-实例

热门文章

  1. 百度android 升级,百度浏览器app下载_百度浏览器v6.4.21安卓去广告去升级版-这家软件站...
  2. 【Leetcode】1641. Count Sorted Vowel Strings
  3. 微信公众号网页H5跳转微信小程序
  4. 下划线的作用(python)
  5. NYIST汉诺塔(一)(三)问题以及汉诺塔的路径实现
  6. spring的IOC容器
  7. ThreadPoolTaskExecutor 线程池的使用
  8. 迅速学java——100条小知识点快速入门
  9. matlab中syms与sym有什么区别
  10. 深入理解java虚拟机-第五章:虚拟机字节码执行引擎