无法重命名 table/ 列表对象中的列。 (python/tabular)

Cannot rename columns from a table/ list object. (python/tabular)

由于我的无能,我已经为这件事苦苦挣扎了整整2天。在尝试了几乎所有的 Whosebug 和其他解决方案之后,我遗憾地发现仍然没有运气。

我正在使用 Tabular-Py 从 PDF 导入 tables。之后它已经“完美”地出现在一个数据框中。用于此的代码部分是:

tables = tabula.read_pdf(file, pages=18, lattice=True, multiple_tables = False)
Print(Tables)

[打印 table 后的输出] [1]: https://i.stack.imgur.com/82Qpa.png

但是,它似乎是一个列表对象,因为它阻止我用它做除了打印之外的任何其他事情。由于错误导致“不能 XX,因为它是一个列表对象”,即使使用整数和重命名列也不起作用。我的印象是 Tabular 直接 Pandas Dataframe。

现在,当我尝试添加以下代码以根据需要重命名列时:

tables.columns = ['HS_Code', 'Product', 'PreviousMonth', 'CurrentMonth', 'LastYear']

我收到错误:

AttributeError: 'list' object has no attribute 'columns'

我尝试过多种形式的重命名和使用不同的输出集,例如 Json。仍然没有运气,它仍然是一个“列表对象”。

有没有人有这方面的经验?如何确保我拥有的 Table/Dataframe 是实际数据框而不是列表对象?

任何提示将不胜感激。

我不熟悉 tabula-py 个对象,但考虑到 this post 您可以执行以下操作:

  1. 手动复制pdf内容后使用pandas.read_clipboard() 或 2. 将 tabula-py 对象保存为 csv 并使用 pandas.read_csv() 获取 DataFrame

之后您可以使用 pandas.

操作数据(例如更改列名)