【问题标题】:export python list values to excel with semi colon delimination [duplicate]使用分号分隔将python列表值导出到excel [重复]
【发布时间】:2018-03-03 02:10:48
【问题描述】:

我有一个小仪表板在工作,它可以生成某些计算组的键和数量。用户还可以选择导出为 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 

该代码块中的分号曾经是逗号。我需要如何调整它以使其对分号友好?这样会以不同列中的键和值打开?

我也在使用烧瓶。

【问题讨论】:

    标签: excel python-2.7 flask


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以使用 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'])
      

      【讨论】:

      • 我很n00by - 你能告诉我你将如何修改我给你看的代码吗?我没有写,但我现在负责。我尝试了一些方法,但没有奏效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      相关资源
      最近更新 更多