Атомно читается из Excel (для рабочего процесса Луиджи) - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь открыть файл Excel в своем рабочем процессе Luigi, используя pandas.read_excel(), используя встроенные (атомарные) методы luigi.

, если self.input() является моей целью luigi для моего документа Excel, яхочу сделать что-то вроде:

with self.input().open('r') as f: pandas.read_excel(f)

или, в более общем случае:

with open(filename) as f: pandas.read_excel(f)

Однако, это дает мне ошибку: *** UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 10: invalid continuation byte

Отказ от ответственности:

Файл Excel взят из внешней задачи, поэтому у меня нет контроля над тем, на каком компьютере он сделан, и содержит ли он NA или пустые ячейки.

1 Ответ

0 голосов
/ 14 октября 2018

Проблема заключалась в том, что мой self.input () (который указывает на место, где сохранен мой файл Excel) должен был использовать format = Nop.Моя цель luigi должна возвращать что-то вроде:

luigi.LocalTarget('excelfile.xlsx', format=luigi.format.Nop)

С этим определением цели я могу атомарно читать, используя:

with self.input().open() as f:
    df = pd.read_excel(f)
...