这是我的功能,通过使用此功能,我试图创建(如果文件不存在)或将字典追加到文件中。
headers = dict.keys()
if not os.path.isfile('metrics1.csv'):
with open('metrics1.csv', 'w')as csv_file:
csv_file.writelines(', '.join(headers))
if not os.path.isfile('metrics1.xlsx'):
book = xlsxwriter.Workbook('metrics1.xlsx')
sheet = book.add_worksheet("TestSheet")
for (idx, header) in enumerate(headers):
sheet.write(0, idx, header)
book.close()
with open('metrics1.csv', 'a+') as csv_file:
book = load_workbook('metrics1.xlsx')
sheet = book.get_sheet_by_name('TestSheet')
for d in dict:
values = [d[key] for key in headers]
csv_string = '\n'+', '.join(values)
csv_file.write(csv_string)
sheet.append(values)
book.save(filename='metrics1.xlsx')
我遇到以下错误,
values = [d[key] for key in headers]
TypeError: string indices must be integers
您需要修复两件事。第一个是如何创建标题列表:
headers = list(dict.keys())
第二个是您要从字典中提取值的行:
values = [dict[key] for key in headers]
希望这会有所帮助!