首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当url不提供文件时跳过错误并继续循环

当url不提供文件时跳过错误并继续循环
EN

Stack Overflow用户
提问于 2022-11-13 14:53:26
回答 1查看 26关注 0票数 0

我使用Tabula-py通过URL列表从PDF下载和提取表。URL是基于规则创建的,一切都很正常,除非Tabula试图从没有页面/文件的链接中处理PDF (特别是周末,因为PDF不在周末发布)。

下面是完整的Python脚本。

我希望脚本跳过它会出现的任何错误(特别是当尝试从基于周末的URL中提取)并继续处理。

有什么想法吗?

代码语言:javascript
复制
import datetime
import pickle

import pandas
import tabula

# create text file

df=open('urls.txt','w')



# Example list

start = datetime.datetime(2022, 11, 1)
end = datetime.datetime(2022, 11, 11)
delta = datetime.timedelta(days=1)

pdf_path='https://www.irishprisons.ie/wp-content/uploads/documents_pdf/{date1:%d-%B-%Y}.pdf'

while start < end:
    date1 = start
    date2 = start + delta
    url = pdf_path.format(date1=date1, date2=date2)


# Save list and stop loop
    df.write(url)
    start = date2  

# Extract Table from PDF availible from url

    path = url
    # Make the most recent
    #path = "https://www.irishprisons.ie/wp-content/uploads/documents_pdf/11-November-2022.pdf"

    dfs = tabula.read_pdf(path, pages='1', lattice=True, stream=True, pandas_options={'header':None})


    try:
        new_header = dfs[0].iloc[1]
        inmate_count = dfs[0].drop(labels=0, axis=0)
        inmate_count.columns = [new_header]
        inmate_count=inmate_count.dropna(how='all').reset_index(drop=True)
        inmate_count = inmate_count.drop(labels=[0], axis=0)
        inmate_count['url'] = path
        inmate_count.to_csv("first_table.csv", mode='a', header=False, index=False)
        print(inmate_count)
    except  Exception:
        pass

print("Finished")

我试过了,但我不熟悉尝试/异常,但这似乎什么也做不了。

EN

回答 1

Stack Overflow用户

发布于 2022-11-13 15:03:57

您可以为每个独立的函数编写单独的try/catches,以便其他函数继续:

代码语言:javascript
复制
try:
  foo = func1()
  foo.func2()
except Exception:
  print("this failed")

try:
  mom = func3()
except Exception:
  print("this failed")

try:
  func4()
except Exception:
  print("this failed")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74422033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档