我正在尝试使用特定列中的url链接创建一个Excel文件。 像这样
def fill_table(table):
if elapsed_time > datetime.timedelta(minutes=args.mtime):
table.loc[len(table)] = [hostname, int(trigger_id), description, eventStartDate, eventEndDate, elapsed_time, message, useralias, link]
...
writer = pd.ExcelWriter(args.output, engine='xlsxwriter')
我试图在链接变量中使用excel超链接公式
link = '=HYPERLINK(\"{0}/tr_events.php?triggerid={1}&eventid={2}\"; \"{3}\")'.format(args.url, trigger_id,event['eventid'], event['name'])
但是打开文件时,“链接”列填充零时出现错误消息
答案 0 :(得分:2)
在公式中可能需要逗号(,
)而不是分号(;
)。这是因为Excel以美式风格的语法存储公式(请参阅XlsxWriter文档中的Non US Excel functions and syntax)。
当我通过XlsxWriter运行您的公式时,我得到一个Excel警告:“我们在'demo.xlsx'中发现了某些内容的问题”,并且当我单击“是”以恢复公式时,为零,如您所述。
将分号更改为逗号可以使程序正常运行而不会发出警告,并且符合预期:
import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
link = '=HYPERLINK(\"{0}/tr_events.php?triggerid={1}&eventid={2}\", \"{3}\")'.format('www.foo.com', 'abc', 'def', 'event1')
worksheet.write('A1', link)
# Or with a hyperlink format.
url_format = workbook.get_default_url_format()
worksheet.write('A2', link, url_format)
workbook.close()
输出:
答案 1 :(得分:1)
使用xlwt,它具有一个公式模块,该模块将作为公式对象存储在您的数据框中。
然后您可以使用df.to_excel将其写为excel与熊猫一起使用:
name
然后,当将其传递给excel时,它应该作为传递的任何内容的公式出现。我仅使用$(document).ready(function () {
$("a#ToggleElement").on("click", function () {
$(this).children("i").toggleClass('fa-angle-up');
});
});
函数对其进行了测试,但效果很好。