【问题标题】:Givng a dynamic file name while saving CSV in Python在 Python 中保存 CSV 时提供动态文件名
【发布时间】:2021-07-23 14:55:00
【问题描述】:

所以,我正在尝试将多个 PDF 转换为 CSV。到目前为止,我有一个代码可以进行扫描并将所有内容转换为单个 CSV。但是,我不想将数据转换为一个单独的 CSV,而是希望 Python 为每个处理的 PDF 保存单独的 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')

【问题讨论】:

    标签: python csv file dynamic


    【解决方案1】:
    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
      • ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 2019-12-28
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      相关资源
      最近更新 更多