导出python列表值以擅长与半冒号消除

我有一个小小的仪表盘,可以产生特定计算组的键和数量。 用户也可以select导出为CSV文件。

然而,这是因为一个计算组具有逗号的键。 所以我需要把它分号分开,并希望以一种很好的方式打开。

这是我目前的代码:

from flask import Flask, render_template, request, make_response, Response if 'export' in request.form.getlist('export'): out = [] for k,v in result.items(): out.append(k + ';' + str(v) + '\n') csv = ''.join(out) response = make_response(csv) cd = 'attachment; filename = LCRdrillback.csv' response.headers['Content-Disposition'] = cd response.mimetime='text/csv' return response 

该代码块中的分号曾经是逗号。 我怎么需要调整这使分号友好? 那么,打开与不同列中的键和值?

我也用烧瓶。

您可以使用python模块csv来轻松读取csv文件。 您可以轻松设置分隔符。

阅读示例:

 import csv delimiter_type=';' with open('file_name.csv', 'rb') as csv_file: spamreader = csv.reader(csv_file, delimiter=delimiter_type, quotechar='|') 

写例子:

 import csv delimiter_type=';' with open('file_name.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile, delimiter=delimiter_type, quotechar='|', quoting=csv.QUOTE_MINIMAL) spamwriter.writerow(['Spam'] * 5 + ['Baked Beans']) spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 

据我所知,问题是文件如何在电子表格应用程序中打开。 我认为在Windows上运行的所有应用程序默认使用双引号作为文本分隔符(MS Excel和LibreOffice肯定),这样你可以转义字段并坚持经典的逗号分隔符为您的文件。 例如: "subfield1, subfield2", field2, field3 。 在Unix上,我还没有尝试,但我相信Unix风格的转义将工作: subfield1\,subfield2, field2 。 我不认为一个电子表格应用程序可以很好地打开一个没有通过“文本导入”过程通过逗号分隔的CSV文件。