在Python中保存CSV时指定一个动态文件名



因此,我正在尝试将多个PDF转换为CSV。到目前为止,我有一个代码可以进行扫描并将所有内容转换为单个CSV。然而,我希望Python为处理过的每个PDF保存单独的CSV,而不是将数据转换为一个CSV(这主要是为了识别一个新文件,因为在此基础上还有更多的代码来格式化数据(。我现在有下面的代码,但我找不到保存多个文件的方法。如有任何协助,我们将不胜感激。

import os
import pdfplumber
import pandas as pd
directory = r'Folfer Path'
lines = []
for filename in os.listdir(directory):
if filename.endswith(".pdf"):
pdf = os.path.join(directory, filename)

with pdfplumber.open(pdf) as pdf:
pages = pdf.pages
for page in pdf.pages:
text = page.extract_text()
for line in text.split('n'):
lines.append(line)
print(line)
df = pd.DataFrame(lines)
df.to_csv('Folder Path/ filename.csv')
directory = r'pdfs'
csv_dir = r"csvs"
lines = []
for filename in os.listdir(directory):
if filename.endswith(".pdf"):
pdf_path = os.path.join(directory, filename)
with pdfplumber.open(pdf_path) as pdf_file:
for page in pdf_file.pages:
text = page.extract_text()
for line in text.split('n'):
lines.append(line)
df = pd.DataFrame(lines)
df.to_csv(os.path.join(csv_dir, filename[0:-4] + ".csv"))

这可能是你问题的答案。您有一些缩进问题和非动态文件名。在此代码中,CSV文件将保存到文件夹"csvFiles"中,请确保在运行代码之前创建它。应该是这样的:路径

  • 路径
  • 您的python脚本文件(.py(
  • pdfs(文件夹(
    • pdf1.pdf
    • pdf2.pdf
  • csvs(文件夹(
    • csv1.csv
    • csv2.csv

最新更新