【发布时间】:2021-04-02 09:16:32
【问题描述】:
我的 CSV 是:
,Élément,État général,Observations
0,ENTRÉE,Etat d'usage,
1,PORTES,Etat d'usage,Chaînette cassé
Serrure du bas en mauvais état le système est
cassé au niveau de la chaînette
2,ENTRÉE / PORTESENTRÉE / PORTES,,
3,Type de porte,,Porte blindée
4,Poignée,,Bon état
5,Couleur,,Bois
但我想要这个:
,Élément,État général,Observations
0,ENTRÉE,Etat d'usage,
1,PORTES,Etat d'usage,Chaînette cassé; Serrure du bas en mauvais état le système ...
2,ENTRÉE / PORTESENTRÉE / PORTES,,
3,Type de porte,,Porte blindée
4,Poignée,,Bon état
5,Couleur,,Bois
我的代码只是将每个页面的一个或多个 pdf 转换为 csv,如下所示:
import os
import io
import shutil
import tabula
import time
start_time = time.time()
path = './'
i=0
j=0
for( directory, subdirectories, file ) in os.walk(path):
for f in file:
if f.endswith('.pdf'):
df = tabula.read_pdf(str(directory) + "/" + str(f), pages='all')
i=0
j+=1
for curr_df in df:
i+=1
curr_df.to_csv('./' + str(directory) + '-' + str(i) + '.csv')
print("--- convert %d .PDF to %d .CSV in %s seconds ---" % (j, i, time.time() - start_time))
我的问题也是因为我不能逐案处理。我需要能够以相同的方式处理所有 csv
【问题讨论】:
-
我无法理解 pandas
to_csv如何生成不正确的 csv 文件。多行字段在 CSV 文件中很常见,但它们应该包含在引号中。 Pandas 可以用pd.read_csv正确读取这些文件吗?目前它看起来像是 Pandas 中的一个错误,这很奇怪...... -
你好 @SergeBallesta 我没有使用 panda 但 tabula 你认为这是我的错误吗?
-
tabula
read_pdf通常会返回 Pandas DataFrames 的列表。而to_csv是pandasDataFrame的一种方法,通常会产生一个行为良好的文件。要使用 pandas 加载 csv 文件,您可以使用import pandas as pddf = pd.read_csv('/path/to/file.csv')print(df.info())print(df)并报告您得到的结果。 -
我得到一个错误,我在下面显示。
标签: python csv pdf multiline tabula