转义csv行的数据

时间:2015-09-24 16:55:51

标签: python csv python-3.x

我想实施this

from flask import Response

@app.route('/large.csv')
def generate_large_csv():
    def generate():
        for row in iter_all_rows():
            yield ','.join(row) + '\n'
    return Response(generate(), mimetype='text/csv')

join非常脆弱(不逃避任何事情)。是否有一种简单的,可接受的方法来转发csv行的数据?

我想避免使用full-fledged csv library:我不想编写或读取csv,我只想要一种简单的方法来生成单个转义的csv行。

1 个答案:

答案 0 :(得分:1)

逃避csv的最简单方法是使用csv模块。您不需要写入文件,只需创建类似文件的对象:

import csv

class DummyFile:
    def write(self, line):
        self.line = line

    def getvalue(self):
        return self.line

@app.route('/large.csv')
def generate_large_csv():
    dummy = DummyFile()
    writer = csv.writer(dummy)

    def generate():
        for row in iter_all_rows():
            writer.writerow(row)
            yield dummy.getvalue()

    return Response(generate(), mimetype='text/csv')