[英]In Python I'm trying to convert all files in directory from PDF to CSV, then edit csv with Pandas before saving to new folder
我有一個目錄C:/Users/Desktop/folder/
。 我想將每個文件從 PDF 轉換為 CSV,使用 Pandas 和 NumpPy 對新轉換的文件進行更改,然后將其保存到子目錄
當它只是一個文件時,我可以使用它,但是當添加代碼以使其適用於目錄中的所有文件時,它不起作用。 代碼,照原樣,什么都不做。 當我運行它時,它沒有任何過程也沒有錯誤完成。
import numpy as np
import pandas as pd
import tabula
import glob
from pathlib import Path
files = glob.glob("C:/Users/Desktop/folder/*.pdf")
childfolder = Path("C:/Users/Desktop/folder/childfolder/")
for file in files:
# convert PDF into CSV
tabula.convert_into(file, "Convert.csv", output_format="csv", pages='all')
# read newly converted csv
df = pd.read_csv("Convert.csv")
# add empty row in 0th position
df = pd.DataFrame([[np.nan] * len(df.columns)], columns=df.columns)
df1 = df.append(df, ignore_index=True)
# name columns added
df1.rename(columns={ df.columns[0]: "Record"}, inplace = True)
df1.rename(columns={ df.columns[1]: "Field"}, inplace = True)
df1.rename(columns={ df.columns[2]: "FieldValue"}, inplace = True)
df1.rename(columns={ df.columns[3]: "Reason"}, inplace = True)
# df1.drop(df.columns[1], axis = 1)
# drop empty rows to clean up
new_df = df1.dropna(how='any',subset = ['Record'])
# output
new_df.to_csv(ChildFolder)
如何轉換目錄中的所有文件,進行編輯,然后將它們保存到不同的目錄?
new_df.to_csv()
的參數必須是文件名,而不是文件夾名。 將文件名與文件夾名連接起來,得到 output 文件。
new_df.to_csv(os.path.join(ChildFolder, file.replace(".pdf", ".csv"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.