所以我在Python中用tabula做了一点实验,遇到了一个奇怪的异常。表的第一列总是延伸超过4行。所以对于前4个单元格,它被延伸到多行,tabula只是为后面3行的拉伸单元格增加了NaN。但是在最后一个拉伸单元格中,tabula只是将下一列的值移到NaN位置。我可能可以解决这个问题,但是否有一个快速解决方案,也许是tabula的一些参数或参数,可以解决这个问题?
PDF表格如下所示:
我的代码:
import tabula
df = tabula.read_pdf('file.pdf', pages='all', pandas_options={'header': None} ,lattice = True)
print(df)
我的输出:
0 1 2 3 4
0 Montag 1./2.\rUE Projekt - Realisierung Budrowitz NaN
1 NaN 3./4.\rUE Projekt - Realisierung Budrowitz NaN
2 NaN 5./6.\rUE Projekt - Realisierung Budrowitz NaN
3 NaN 7./8.\rUE Projekt - Realisierung Budrowitz NaN
4 Dienstag 1./2.\rUE Projekt - Realisierung Budrowitz NaN
5 NaN 3./4.\rUE Projekt - Realisierung Budrowitz NaN
6 NaN 5./6.\rUE Projekt - Realisierung Budrowitz NaN
7 NaN 7./8.\rUE Projekt - Realisierung Budrowitz NaN
8 Mittwoch 1./2.\rUE Projekt - Realisierung Budrowitz NaN
9 NaN 3./4.\rUE Projekt - Realisierung Budrowitz NaN
10 NaN 5./6.\rUE Projekt - Realisierung Budrowitz NaN
11 NaN 7./8.\rUE Projekt - Realisierung Budrowitz NaN
12 Donnerstag 1./2.\rUE Projekt - Realisierung Budrowitz NaN
13 NaN 3./4.\rUE Projekt - Realisierung Budrowitz NaN
14 NaN 5./6.\rUE Projekt - Realisierung Budrowitz NaN
15 NaN 7./8.\rUE Projekt - Realisierung Budrowitz NaN
16 Freitag 1./2.\rUE Projekt - Realisierung Budrowitz NaN
17 3./4.\rUE Projekt - Realisierung Budrowitz NaN NaN
18 5./6.\rUE Projekt - Realisierung Budrowitz NaN NaN
19 7./8.\rUE Projekt - Realisierung Budrowitz NaN NaN
我试着在谷歌上搜索一些参数(已经找到了header = none,lattice,guess和stream),但没有真正解决或修复这个问题。
1条答案
按热度按时间2izufjch1#
您需要像下面这样将pandas_options传递给tabula.read_pdf:
pandas_options={'keep_default_na': False, 'na_values':['nan']