WARNING *** file size (1080329) not 512 + multiple of sector size (512)

2022-05-09 19:00:56 浏览数 (1)

之前写过一篇【关于pd.read_excel()读取xls文件报错的解决办法】 原文链接:https://blog.csdn.net/qq_35866846/article/details/103992604 优化下读取函数,便于多个sheet读取,和pd.read_excel一样,sheet_name可以用序号也可以用sheet名

代码语言:javascript复制
#自定义xls文件读取函数 默认header=0,sheet_name=0
def read_xls_xcx(data_path,header=0,sheet_name=0):
    data=xlrdxcx.open_workbook(data_path)
    if type(sheet_name)==int:
        table=data.sheet_by_index(sheet_name)#通过索引打开
    else:
        table=data.sheet_by_name(sheet_name) #通过表单名打开
    nrows = table.nrows
    ncols = table.ncols
    result=[]
    for i in range(header,nrows):
        result1=[]
        for j in range(ncols):
            result1.append(table.cell(i, j).value)
        result.append(result1)
        
    pd_result=pd.DataFrame(result)
    pd_result.columns=pd_result.iloc[0,].tolist()
    pd_result=pd_result[1:].reset_index(drop=True)
    return pd_result

今天要说的问题不是这个,这个只是附带优化下 重点问题是关于读取xls时的一个警告 WARNING *** file size (1080329) not 512 multiple of sector size (512)

产生这个错误的原因是xlrd下的compdoc.py文件的第117-118行附近(看有的是119行)代码

代码语言:javascript复制
   print("WARNING *** file size (%d) not 512   multiple of sector size (%d)"
       % (len(mem), sec_size), file=logfile)

经测试: 是因为下载的数据是受保护视图,excel打开如下图提示,当启用编辑并保存后,此处警告就不存在了

具体什么原因还不是太清楚,此警告不影响读取的数据内容

0 人点赞