python с pandas: размер файла (44546) не 512 + кратно размеру сектора (512) - PullRequest
1 голос
/ 19 марта 2020

После прочтения файла Excel с помощью pandas выдается следующее предупреждение:

код клавиши:

pd_obj = pd.read_excel("flie.xls", dtype=str, usecols=usecols, skiprows=3)

for idx, row in pd_obj.iterrows():    
    json_tmpl = copy.deepcopy(self.details)
    json_tmpl["nameInBank"] = row["nameInBank"]
    json_tmpl["totalBala"] = row["totalBala"].replace(",", '')
    # parse pdf file
    status = self._get_banksplip_json(json_tmpl["bankReceipts"], row)
    json_buf.append(copy.deepcopy(json_tmpl))

информация о предупреждении:

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

1 Ответ

1 голос
/ 19 марта 2020

Это нормальное предупреждение от базовой библиотеки XLRD, и ее можно игнорировать. Проблема pandas ( # 16620 ) была открыта и закрыта без окончательного решения. Тем не менее, обсуждение предоставило альтернативу, которая позволила бы вам подавить предупреждения:

from os import devnull
import pandas as pd
import xlrd

wb = xlrd.open_workbook('file.xls', logfile=open(devnull, 'w'))
pd_obj = pd.read_excel(wb, dtype=str, usecols=usecols, skiprows=3, engine='xlrd')

Более подробный анализ фактической причины ошибки можно найти на форуме здесь: https://groups.google.com/forum/m/#! topic / python -excel / 6Lue-1mTPSM

Мораль истории: всякий раз, когда вы получаете предупреждение, в котором не уверены, вы должны искать ключевые слова, которые появляются (откажитесь от любого Speci c части, такие как размеры файлов или локальные пути). Этот ответ основан на первых двух результатах поиска в Google.

...