ℳ๓₯㎕薛定谔的猫 2020-08-05 08:51 采纳率: 0%
浏览 90

执行Python脚本出现错误,查阅资料后无法自行解决。

import os
import pandas as pd
import xlrd
import shutil

def file_name(file_dir):
    for root, dirs, files in os.walk(file_dir):
        return files #当前路径下所有非目录子文件

#例如D:/jupyter/test/data
path = input('请键入需要整理的文件夹地址:')
sheet_name = input('请键入要复制的sheet表名字:')
m= input('请键入要复制的单元格所在行数:')
n= input('请键入要复制的单元格所在列数:')

files = file_name(path)


result = pd.DataFrame(columns=['file', 'value'])

for i in range(0,len(files)):
    data = xlrd.open_workbook(path+'/'+files[i])
    print(path+'/'+files[i])
    table = data.sheet_by_name(sheet_name)
    cell = table.cell(int(m),int(n)).value
    result.loc[i] = [files[i], cell]

result.to_csv(path + '/result.txt')

以上代码,只能执行前11个Excel文档,其余的都无法执行,上一下错误的截图

请键入需要整理的文件夹地址:E:\excel
请键入要复制的sheet表名字:Sheet1
请键入要复制的单元格所在行数:0
请键入要复制的单元格所在列数:0
E:\excel/02-01.xls
E:\excel/02-02.xls
E:\excel/02-03.xls
E:\excel/02-04.xls
E:\excel/02-05.xls
E:\excel/02-06.xls
E:\excel/02-07.xls
E:\excel/02-08.xls
E:\excel/02-09.xls
E:\excel/02-10.xls
E:\excel/02-11.xls
Traceback (most recent call last):
  File "C:\Users\love3\Desktop\123.py", line 22, in <module>
    data = xlrd.open_workbook(path+'/'+files[i])
  File "E:\Python\lib\site-packages\xlrd\__init__.py", line 157, in open_workbook
    ragged_rows=ragged_rows,
  File "E:\Python\lib\site-packages\xlrd\book.py", line 117, in open_workbook_xls
    bk.parse_globals()
  File "E:\Python\lib\site-packages\xlrd\book.py", line 1209, in parse_globals
    self.handle_format(data)
  File "E:\Python\lib\site-packages\xlrd\formatting.py", line 538, in handle_format
    unistrg = unpack_unicode(data, 2)
  File "E:\Python\lib\site-packages\xlrd\biffh.py", line 284, in unpack_unicode
    strg = unicode(rawstrg, 'utf_16_le')
  File "E:\Python\lib\site-packages\xlrd\timemachine.py", line 31, in <lambda>
    unicode = lambda b, enc: b.decode(enc)
  File "E:\Python\lib\encodings\utf_16_le.py", line 16, in decode
    return codecs.utf_16_le_decode(input, errors, True)
UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 6-7: unexpected end of data

此行代码的出处忘记了,中间也自己做个修改,但还是不管用,也加入了UTF-8或16的代码,
非自行码出来的。
望大佬解答~

  • 写回答

1条回答 默认 最新

  • jingluan666 2020-08-05 09:21
    关注
    评论

报告相同问题?

悬赏问题

  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题