Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用要保存为csv的flask路由发送数据帧_Python_Flask - Fatal编程技术网

Python 使用要保存为csv的flask路由发送数据帧

Python 使用要保存为csv的flask路由发送数据帧,python,flask,Python,Flask,我正在执行一个Get请求,其中包含来自数据帧的数据,我将其转换为csv '/dash/urlToDownload?value={}'.format(df.to_csv(index=False, sep=',', encoding='utf-8')) 路线如下: @app.server.route('/dash/urlToDownload') def do

我正在执行一个Get请求,其中包含来自数据帧的数据,我将其转换为csv

'/dash/urlToDownload?value={}'.format(df.to_csv(index=False, 
sep=',',                                                                      
encoding='utf-8'))
路线如下:

@app.server.route('/dash/urlToDownload')
def download_csv():
    value = flask.request.args.get('value')
    # create a dynamic csv or file here using `StringIO`
    # (instead of writing to the file system)
    strIO = io.StringIO()
    strIO.write(value)

    writer = csv.writer(strIO, delimiter=',', quotechar='|')
    writer.writerow(value)

    mem = io.BytesIO()
    mem.write(strIO.getvalue().encode('utf-8'))

    mem.seek(0)
    strIO.close()
    return flask.send_file(mem,
                     mimetype='text/csv',
                     attachment_filename='downloadFile.csv',
                     as_attachment=True)
我确实得到了一个csv文件,但它不能识别新行,所有内容都写在第一行

变量值的外观示例

版本,id,值1,2,3


值和1之间似乎没有字符表示新行。

为什么通过GET请求发送该数据?请尝试POST?你有没有试过把收到的数据记录下来,然后再回来?我在Dash工作,他们建议用这种方式将数据下载到文件中。值似乎缺少换行符。第1行的最后一个值连接到第2行的第一个值。是否尝试在
csv.writer()
构造函数中添加
newline='
参数?@PrahladYeri newline在csv.writeri中不是有效参数。它是从python 3开始的,并且是必需的。您是在运行Python3还是2.x?为什么要通过GET请求发送数据?试试POST?你有没有试过把收到的数据记录下来,然后再回来?我在Dash工作,他们建议用这种方式将数据下载到文件中。值似乎缺少换行符。第1行的最后一个值连接到第2行的第一个值。是否尝试在
csv.writer()
构造函数中添加
newline='
参数?@PrahladYeri newline在csv.writeri中不是有效参数。它是从python 3开始的,并且是必需的。您运行的是Python3还是2.x?