我目前正在为一家公司从事自动化项目,其中一项任务是要求我遍历目录并将所有pdf文件转换为CSV文件。我正在使用camelot-py
库(比我尝试过的其他库要好)。当我将以下代码应用于单个文件时,它就可以正常工作;但是,我希望使其遍历目录中的所有pdf文件。我在以下代码中收到以下错误:
“ OSError:[Errno 22]无效的参数”
import camelot
import csv
import pandas as pd
import os
directoryPath = r'Z:\testDirectory'
os.chdir(directoryPath)
print(os.listdir())
folderList = os.listdir(directoryPath)
for folders, sub_folders, file in os.walk(directoryPath):
for name in file:
if name.endswith(".pdf"):
filename = os.path.join(folders,name)
print(filename)
print(name)
tables = camelot.read_pdf(filename, flavor = 'stream', columns= ['72,73,150,327,442,520,566,606,683'])
tables = tables[0].df
print(tables[0].parsing_report)
tables.to_csv('foo2.csv')
我希望所有文件都转换为“ .csv”文件,但出现错误“ OSError:[Errno 22]无效参数”。我的错误似乎来自第16行。
答案 0 :(得分:0)
我不知道您是否遇到相同的问题,但就我而言,我犯了一个非常愚蠢的错误,即未将文件放在正确的目录中。我遇到了同样的错误,但是一旦发现问题,脚本就会在常规的for循环中运行。
我不是使用to方法,而是使用批量导出在sql中导出结果,但这应该不是问题。