小白的文件遍历及excel存储问题

xialinren2020 2019-12-02 01:33:15
1.目的:利用Python把文件夹内所有的PDF文件中的文本抓取到一个excel中
所有的pdf具有相同的格式

2.需要解决的问题:遍历指定文件夹中的所有pdf文件,并把文本保存在excel的一行中,一个文件中的内容保存在新的一行。

以下是目前的代码,现在可以抓取一个指定PDF的文本至excel中,但需要解决文件遍历和Excel中行数随新文件的内容+1行写入。


拜谢!!

============================================

import pdfplumber #解析pdf文件,尤其带有表格的文件
from openpyxl import Workbook #读写Excel的文件

def parse(pdf):
targets = [] #保存结果,
for page in pdf.pages:
words = page.extract_words(x_tolerance=5)
for word in words:
targets.append(word['text'])
return targets
#print(targets)

# 保存
def save(targets, out_path, sheet_name='targets'):
wb = Workbook()
ws = wb.active
ws.title = sheet_name
ws.append(targets)
print(ws)
#ws.append(list(targets.values()))
wb.save(out_path)


# 主函数入口
if __name__ == "__main__":
print(__doc__)
path = 'c:l/tax01.pdf'
out_path = 'c:/PDF_Inf-2.xlsx'
pdf = pdfplumber.open(path)
targets = parse(pdf)
save(targets, out_path)
print('运行结束!')
...全文
74 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xialinren2020 2019-12-03
  • 打赏
  • 举报
回复
解决了,谢谢! @jmzl. ========================================== import pdfplumber #解析pdf文件,尤其带有表格的文件 from openpyxl import Workbook #读写Excel的文件 import os def parse(pdf): targets = [] #保存结果, for page in pdf.pages: words = page.extract_words(x_tolerance=5) for word in words: targets.append(word['text']) return targets #print(targets) # 保存 def save(targets, out_path, sheet_name='targets'): wb = Workbook() ws = wb.active ws.title = sheet_name ws.append(targets) #print(ws) #ws.append(list(targets.values())) wb.save(out_path) # 主函数入口 if __name__ == "__main__": print(__doc__) path = 'output' excelnumb=1 files= os.listdir(path) #out_path = 'PDF_Inf-2.xlsx' for file in files: pdf = pdfplumber.open(path+"/"+file) targets = parse(pdf) save(targets, '%s.xlsx' % file[:-4]) excelnumb +=1 print('运行结束!')
jmzl 2019-12-02
  • 打赏
  • 举报
回复
Python的os有个函数可以自己遍历目录下所有文件

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧