【发布时间】:2020-10-28 09:32:21
【问题描述】:
由于我的无能,我已经在这件事上苦苦挣扎了整整 2 天。在尝试了几乎所有的 stackoverflow 和其他解决方案后,遗憾的是我仍然没有运气。
我正在使用 Tabular-Py 从 PDF 中导入表格。之后它已经“完美”地呈现在一个数据框中。用于此的代码部分是:
tables = tabula.read_pdf(file, pages=18, lattice=True, multiple_tables = False)
Print(Tables)
[打印表格后的输出] [1]:https://i.stack.imgur.com/82Qpa.png
但是,它似乎是一个列表对象,因为它阻止了我对它进行除打印之外的任何其他操作。即使使用整数和重命名列也不起作用,因为错误会导致“不能 XX,因为它是一个列表对象”。我的印象是 Tabular 直接制作了 Pandas 数据框。
现在,当我尝试添加以下代码以根据需要重命名列时:
tables.columns = ['HS_Code', 'Product', 'PreviousMonth', 'CurrentMonth', 'LastYear']
我得到了错误:
AttributeError: 'list' 对象没有属性 'columns'
我尝试了多种形式的重命名和使用不同的输出集,例如 Json。仍然没有运气,它仍然是一个“列表对象”。
有人有这方面的经验吗?如何确保我拥有的表/数据框是实际数据框而不是列表对象?
任何提示将不胜感激。
【问题讨论】:
-
您是否尝试将其转换为 pandas.DataFrame?像 pandas.DataFrame(tables) 或 pd.DataFrame.from_records(tables)...
-
我试过了,但我只能将列标题(1 行)作为新的 pandas 数据框。
-
所以当使用panda数据框进行转换时,只能接收headers。这些行不再可见。