2

问题陈述:

我正在使用Tabula App用户界面从 PDF 文件中选择表格的维度作为表格模板,以提供JSON格式的维度。

选择表格维度后提取表格的 Tabula App 界面中的 DataFrame 是正确的。

但是,当我使用read_pdf_with_template返回List对象的方法时。当我将此列表对象转换为 DataFrame 时,它​​会合并不同的列。


代码片段:

tables = tabula.read_pdf_with_template(f, "tabula_saved.json")
df = pd.DataFrame()
df = pd.concat([c for c in tables]).drop_duplicates()
df = df.replace(r'^\s*$', np.nan, regex=True)
df = df[df.isnull().sum(axis=1) < df.shape[1] - 2].reset_index(drop=True)

数据框

Tabula App界面中的DataFrame :

| Txn Date    | Value Date | Brn Code | Particulars                 | Ref No | Debit     | Credit      | Balance           |
|-------------|------------|----------|-----------------------------|--------|-----------|-------------|-------------|
| 01/02/2018  | 01/02/2018 | 7777     | 31-JAN-18M2M Cash Dep Chrgs |        | 202.00    |             | 40,233.11   |
| 01/02/2018  | 01/02/2018 | 4115     | NEFT : 00003- TV 18 HOME    |        |           | 5,52,743.00 | 5,92,976.11 |
| 01/02/2018  | 01/02/2018 | 4115     | NEFT : AXISP1-TECH          |        |           | 25,252.00   | 6,18,228.11 |
| 01/02/2018  | 01/02/2018 | 1221     | To ECS  : ECS-TP UIA        | 911387 | 66,733.00 |             | 5,51,495.11 |

使用方法返回列表然后将其转换为DataFrame后的DataFrameread_pdf_with_template

| 0           | 1                                                     | 2           |
|-------------|-------------------------------------------------------|-------------|
| 01/02/2018  | 01/02/2018 7777 31-JAN-18M2M Cash Dep Chrgs 202.00    | 40,233.11   |
| 01/02/2018  | 01/02/2018 4115 NEFT : 00003- TV 18 HOME  5,52,743.00 | 5,92,976.11 |
| 01/02/2018  | 01/02/2018 4115 NEFT : AXISP1-TECH 25,252.00          | 6,18,228.11 |
| 01/02/2018  | 01/02/2018 1221 To ECS  : ECS-TP UIA 911387 66,733.00 | 5,51,495.11 |

注意:请忽略此问题中的列标题。

4

0 回答 0