python - 从 Excel 中原子读取(用于 luigi 工作流程)

标签 python pandas luigi

我正在尝试使用内置(原子)luigi 方法使用 pandas.read_excel() 在 Luigi 工作流程中打开 Excel 文件。

如果 self.input() 是我的 excel 文档的 luigi 目标,我想做类似的事情:

将 self.input().open('r') 作为 f: pandas.read_excel(f)

或者更一般地说:

打开(文件名)为 f: pandas.read_excel(f)

但是,这给了我一个错误: *** UnicodeDecodeError:“utf-8”编解码器无法解码位置 10 中的字节 0xd0:无效的连续字节

免责声明:

Excel 文件来自外部任务,因此我无法控制它是在什么类型的计算机上制作的,也无法控制它是否包含 NA 或空白单元格。

最佳答案

问题是我的 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)

关于python - 从 Excel 中原子读取(用于 luigi 工作流程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52694065/

相关文章:

python - 使用 Python pandas 格式化数据框

python - Pandas - Python - 如何减去两个不同的日期列

python - Pandas fillna 截至最近日期

python-2.7 - 从 cmd 运行 Luigi 任务 - "No module named tasks"

python - Luigi框架崩溃

hadoop - 用于构建基于 hadoop 的数据管道的调度工具的建议

python - 如何将列表拆分为 N 个随机但最小大小的 block

python - 无法通过具有指定 device_id 的 pylibftdi 与 FTDI 设备通信

Python 多进程池进程计数

python - 如何从漂亮的表格中保存表格?