我已经用Python教科书和视频教程完成了一半的无聊工作,但是我有一个大项目需要自动生成60个化学采购审核文档,我们似乎找不到这些文档。与其单独填写,我想用我目前所学的知识。我不得不在几章中跳到前面,但我似乎不知道如何越过最后一行代码。 基本上,我有一个excel电子表格,其中有四列信息需要输入到word文档表单模板的某些区域中。 我在单词doc中有“AAAA,BBBB…”作为一个可以找到和替换的东西。在
import openpyxl,os,docx,re
os.chdir(r'C:\Users\MYUSERNAME\OneDrive\Documents\Programming\ChemInv')
wb = openpyxl.load_workbook('cheminv.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')
doc = docx.Document('ChemPurchaseForm_.docx')
fillObj = ('AAAA','BBBB','CCCC','DDDD')
for a in range(1,61):
for b in range(1,5):
fill = sheet.cell(row=a,column=b).value
for x in range(len(fillObj)):
inputRegex = re.compile(fillObj[x])
inputRegex.sub(fill,doc)
doc.save('ChemPurcaseForm_' + fill + '.docx')
我得到了这个错误:
^{pr2}$我假设“fill”变量或“doc”变量不是二进制或字符串值?在
提前感谢您的帮助!在
要调试它,您需要找出哪些值不是二进制值或字符串值。一种方便的方法是开始为每个值添加print语句。例如,你可以试试
我不知道docx模块是如何工作的,但我有两个假设:
doc
不是sub
函数的适当类型;您必须将对象强制转换为其他类型,或者在这种情况下以不同的方式访问它。在fill
是{在阅读docx文档时,我倾向于1,因为它看起来不像是一个字节或字符串对象,也不是一个字节或字符串兼容的对象,因此
sub
方法将无法对其进行正确操作;如果这是正确的,请阅读python docx文档以获取更多细节,以帮助您确定需要做什么。我想探究一下你的文档中有哪些属性,似乎有一些属性可以直接访问文本。在祝你好运!在
相关问题 更多 >
编程相关推荐