如果您不能提供建设性的解决方案,请不要将其标记为重复,因为我还没有找到任何解决方案,它很少说明您对提供帮助的兴趣
Excel拒绝该公式,但允许使用其他单元格中的其他字符串。我使用的是英文公式的名称,并且尝试了逗号和分号,结果相同。 公式由标记模板组成,并具有多个嵌套条件。 守则的一部分是:
wb = Workbook()
sheet= wb.active
l=str(sheet.max_row+1)
formula='=CONCATENATE("**"&{}&"**"&CHAR(10)&CHAR(10)&"- **Ponente:** "&{}&CHAR(10)&"- **Fuente:** "&{};IF(EXACT({};"");"";CHAR(10)&"- **ID:** "&{});CHAR(10)&"- **Web:** "&{}&CHAR(10)&"- **Idioma:** "&{}&CHAR(10)&"- **Etiquetas:** "&{};IF(EXACT({};"");;CHAR(10)&"- **Fecha:** "&{});IF(EXACT({};"");;CHAR(10)&"- **Notas:** "&{}))'.format("A"+l,"B"+l,"C"+l,"D"+l,"D"+l,"E"+l,"H"+l,"G"+l,"F"+l,"F"+l,"I"+l,"I"+l)
print (formula)
data={
"Título":[titulo],
"Autor":[profesor],
"Fuente":[plataforma],
"ID":[id],
"Web":[url],
"Fecha":[fecha_esp],
"Etiquetas":[etiquetas],
"Idioma":[idioma],
"Notas":[notas],
"Plantilla":[formula]
}
dataframe_pandas = pd.DataFrame(data)
for x in dataframe_to_rows(dataframe_pandas, index=False, header=False):
sheet.append(x)
wb.save(filename)
控制台输出显示以下公式:
=CONCATENATE("**"&A2&"**"&CHAR(10)&CHAR(10)&"- **Ponente:** "&B2&CHAR(10)&"- **Fuente:** "&C2;IF(EXACT(D2;"");"";CHAR(10)&"- **ID:** "&D2);CHAR(10)&"- **Web:** "&E2&CHAR(10)&"- **Idioma:** "&H2&CHAR(10)&"- **Etiquetas:** "&G2;IF(EXACT(F2;"");;CHAR(10)&"- **Fecha:** "&F2);IF(EXACT(I2;"");;CHAR(10)&"- **Notas:** "&I2))
此公式被Excel拒绝,但如果我复制并粘贴到Excel字段中,则没有问题
那么,问题是什么
更新
本期之前已经出版,但它被标记为重复,甚至没有试图提供帮助。现在,我非常感谢三位作出回应的人
问题在于python中的公式。我替换了所有分号,但我肯定有一些打字错误,后来我改正了,再也没有尝试过。但根据提供的证据,我又试了一次,成功了
你可以试试ExcelWriter
尝试将公式中的
semicolons
替换为,
,然后进行检查我在libreoffice中手动尝试,并将其与自动生成的公式进行比较。两者在
,
上都有所不同,因为它会自动将;
更改为,
。然后我在python文件中将;
替换为,
。自动生成的excel也很好相关问题 更多 >
编程相关推荐