当前位置: 首页 > 知识库问答 >
问题:

使用分号删除[duplicate]将python列表值导出到excel

苍恩
2023-03-14

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

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

我也在用烧瓶。

共有2个答案

张和豫
2023-03-14

据我所知,问题是如何在电子表格应用程序中打开文件。我认为在Windows上运行的所有应用程序默认情况下都使用双引号作为文本分隔符(当然是MS Excel和LibreOffice),这样您就可以跳过该字段,并坚持文件的经典逗号分隔符。示例"subfield d1, subfield d2", field d2, field d3。在Unix上,我没有尝试过,但是我相信Unix风格的转义会起作用:subfield d1\,subfield d2,field d2。我不认为电子表格应用程序会很好地打开一个没有逗号分隔的csv文件,而不通过“文本导入”过程。

屠君墨
2023-03-14

可以使用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'])
 类似资料:
  • 我想删除这个列表中的无值 并得到如下输出

  • 假设我有一张工作表--第一张--有5000多行(例如,每行“a”-“H”)。 在另一个工作表--第2号--中,我有一个“to-remove-list”--一个包含400个值的单列“a”,每个值包含字母数字字符串(例如:xxx1234)。 如果第'e'列包含“to-remove-list”(第2页的第'a'列)中的任何值,则必须删除第1页中的每一行。 删除整行,我的意思是删除该行并向上移动(不离开空

  • 我有一个名为key_resp_5_rt的列,其中我想删除300ms以下的所有行(这是一个反应时间列) 有人能告诉我下面的代码是否可以删除rt小于0.3秒的行吗? 当我事后检查时,值低于0.3的行仍然存在,我不知道为什么

  • 通过itertuples,我需要将位于excel列(“G7”、“G8”)两行中的两个数据导出到google工作表的两列中。我该怎么做? 最后一行不会更新google表单的第3列

  • 问题内容: `>>> a=[1,2,3] a.remove(2) a [1, 3] a=[1,2,3] del a[1] a [1, 3] a= [1,2,3] a.pop(1) 2 a [1, 3] ` 以上三种从列表中删除元素的方法之间有什么区别吗? 问题答案: 是的,删除第一个匹配值,而不是特定的索引: del 删除特定索引处的项目: 并pop从特定索引处删除该项目并返回。 它们的错误模式也

  • 我有一个数据集,我想根据该行的2或列值从数据框中删除行。例如-我有关于美国所有电视节目的数据帧,我需要根据电视节目的季节和剧集删除电视节目的特定行。就像我需要删除高谭市电视台的行,但只删除包含第四季和第十集的行。 如果我能在这方面得到帮助,我将不胜感激。

  • 问题内容: 我有一个类似的清单 这应该变成 我只想删除标点符号,使字母和数字保持原样。标点是常数。我知道这很简单,但是我有点喜欢python所以… 谢谢,giodamelio 问题答案: 假设您的初始列表存储在变量x中,则可以使用以下命令: 删除空字符串:

  • 问题内容: LIST = [‘Python’,’problem’,’whatever’] print(LIST) 当我运行该程序时,我得到 是否可以从输出中删除该方括号? 问题答案: 您可以将其转换为字符串,而不是直接打印列表: 如果列表中的元素不是字符串,则可以使用(如果要在字符串周围加上引号)或(如果不需要)将它们转换为字符串,如下所示: 给出输出: