Tabula で PDF を読んだ後、複数のページにまたがったために分割されたデータフレームがいくつかあります。それらを連結してヘッダー行を削除して、テーブル全体を復元したいと考えています。ドキュメントごとにテーブルの数が変わると思うので、テーブルが分割されるあらゆるシナリオをカバーするはずです。
forループでリストを調べて、次のデータフレームに同じ数の列があるかどうかを確認したいことはわかっています。その場合、2 つを連結する必要があります。手動での連結 (print(pd.concat([df_list[12],df_list[13],df_list[14]])) を使用) が機能するため、これをどのように記述するかを理解するだけです。
これがどうあるべきかについての私の概算です:
import pandas as pd
import tabula
df_list=read_pdf("test.pdf",multiple_tables=True,lattice=True,pages='all',encoding='utf-8',spreadsheet=True)
for i in df_list:
if i.shape[1] = (i+1).shape[1]:
pd.concat([i,(i+1)])
「TypeError: Could not operation 1 with block values must be str, not int」というエラーが表示されますが、この for ループで何をしているのかわかりません。