我有一个总共有33行的PDF表格,但是这个数字可以改变。该表展开到第二页,这意味着它看起来像两个单独的表。
我的目标是将第0、2和3列中的所有项目添加到三个单独的列表中。我已经能够让这个工作,但我注意到一行是从表2失踪,这是第二页上的第一行。
我现在的Python脚本看起来像:
import tabula
file_path = "address.pdf"
tables = tabula.read_pdf(file_path, pages="all", multiple_tables=True)
full_range_index = 0
full_range = []
starting_range_index = 2
starting_range = []
ending_range_index = 3
ending_range = []
table_one_row_count = 27
table_two_row_count = 6
# for i in range(table_one_row_count):
# extracted_row = tables[0].iloc[i].values.tolist()
# full_range.append(extracted_row[full_range_index])
# starting_range.append(extracted_row[starting_range_index])
# ending_range.append(extracted_row[ending_range_index])
for i in range(table_two_row_count):
extracted_row = tables[1].iloc[i].values.tolist()
full_range.append(extracted_row[full_range_index])
starting_range.append(extracted_row[starting_range_index])
ending_range.append(extracted_row[ending_range_index])
print(full_range)
full_range
的一个示例是['one', 'two', 'three', 'four', 'five', 'six']
,但它看起来像[nan, 'two', 'three', 'four', 'five', 'six']
。
有没有什么我可以做的,以不失去第二页/表的第一行?
1条答案
按热度按时间bnlyeluc1#
我认为你的问题是因为第二页的表头被
Tabula
误认为是数据让我们尝试一个解决方案,用pandas来忽略头。