原帖已删除
Ta的回复 :想用个for循环来对发票进行批量处理该怎么做呢?我尝试用 for j in range(1,3): vat_invoice('d:/%s.jpg' % j) break 但是无效啊,有哪位可以帮我解答一下吗?谢谢 我的想法是批量处理的数据都自动用xlwt写入excel import urllib import base64 import json import xlwt import requests #client_id 为官网获取的AK, client_secret 为官网获取的SK client_id = 'yxYg9r4OuAs4fYvfcl8tqCYd' client_secret = 'yWg3KMds2muFsWs7MBSSFcgMQl8Wng4s' #获取token def get_token(): host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret request = urllib.request.Request(host) request.add_header('Content-Type', 'application/json; charset=UTF-8') response = urllib.request.urlopen(request) token_content = response.read() if token_content: token_info = json.loads(token_content) token_key = token_info['access_token'] return token_key #增值税发票 #filename:图片名(本地存储包括路径) def vat_invoice(filename): request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/vat_invoice" # 二进制方式打开图片文件 f = open(filename, 'rb') img = base64.b64encode(f.read()) params = dict() params['image'] = img params['show'] = 'true' params = urllib.parse.urlencode(params).encode("utf-8") #params = json.dumps(params).encode('utf-8') access_token = get_token() request_url = request_url + "?access_token=" + access_token request = urllib.request.Request(url=request_url, data=params) request.add_header('Content-Type', 'application/x-www-form-urlencoded') response = urllib.request.urlopen(request) content = response.read() if content: #print(content) content=content.decode('utf-8') #print(content) data = json.loads(content) words_result=data['words_result'] workbook = xlwt.Workbook(encoding = 'utf-8') worksheet = workbook.add_sheet('Invoice_List') worksheet.write(0,0, label = '发票号码') worksheet.write(0,1, label = '开票日期') worksheet.write(0,2, label = '合计金额') worksheet.write(0,3, label = '合计税额') worksheet.write(0,4, label = '销售方名称') worksheet.write(0,5, label = '销售方纳税人识别号') worksheet.write(0,6, label = '购买方名称') worksheet.write(0,7, label = '购买方纳税人识别号') for i in range(1,1000): worksheet.write(i,0, label = words_result['InvoiceNum']) worksheet.write(i,1, label = words_result['InvoiceDate']) worksheet.write(i,2, label = words_result['TotalAmount']) worksheet.write(i,3, label = words_result['TotalTax']) worksheet.write(i,4, label = words_result['SellerName']) worksheet.write(i,5, label = words_result['SellerRegisterNum']) worksheet.write(i,6, label = words_result['PurchaserName']) worksheet.write(i,7, label = words_result['PurchaserRegisterNum']) workbook.save('Invoice_List.xls') break for j in range(1,3): vat_invoice('d:/%s.jpg' % j) break 代码格式好像乱了