Python 使用要保存为csv的flask路由发送数据帧
我正在执行一个Get请求,其中包含来自数据帧的数据,我将其转换为csvPython 使用要保存为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
'/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?