お世話になります
エクセルVBAからpythonを読み出して、PDFのプロパティをチェックしているのですが、
メタファイル上のModDateに何もない場合、下記のようなエラーとなります。
これはModDateに何も入っていないので、エラーになっていると思うのですが、
たとえばダミーで「--」などと入れて回避することはできますでしょうか?
その場合どのような記述をしたらいいでしょうか?
python初心者なので、アドバイスいただけますと幸いです。
例えば、以下のリンクのPDFでエラーとなります。
http://www.analog.com/media/en/technical-documentation/evaluation-documentation/adv7182a-adv7280a-32ebz-sch_a.pdf
python
1import os 2import csv 3import shutil 4import requests 5import PyPDF2 6import xlwings as xw 7 8def property_check(): 9 pre_path = os.path.dirname(os.path.abspath(__file__)) 10 path = pre_path.replace('\','/') 11 with open(str(path) + '/part_num.csv') as f: 12 reader = csv.reader(f) 13 for row in reader: 14 filename = row[0] 15 pdf = PyPDF2.PdfFileReader(path + '/DATASHEET/' + filename) 16 Pdf_name = filename 17 for k in pdf.documentInfo.keys(): 18 if k == '/ModDate': 19 ModDate = pdf.documentInfo[k] 20 if k == '/CreationDate': 21 CreationDate = pdf.documentInfo[k] 22 pdf = PyPDF2.PdfFileReader(path + '/DATASHEET/' + filename) 23 number_of_pages = pdf.getNumPages() 24 Size = os.path.getsize(path + '/DATASHEET/' + filename) 25 l = [Pdf_name,CreationDate,ModDate,number_of_pages,Size] 26 with open(path + '/result.csv', 'a') as f: 27 writer = csv.writer(f, lineterminator='\n') 28 writer.writerow(l)
Error
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\users\xxxxxxxxxxxxxxxxxx\property_check.py", line 25, in property_check
l = [Pdf_name,CreationDate,ModDate,number_of_pages,Size]
UnboundLocalError: local variable 'ModDate' referenced before assignment
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/11 14:25
2019/09/11 22:01