首页 > 解决方案 > Python Flask:发送和接收 csv 文件

问题描述

我已经创建了一个烧瓶 api,它目前正在本地机器上运行我从一台机器上运行 python 脚本来发布文本文件:

import json
import requests


datas = {'var1' : 'var1','var2'  : 'var2',}

#my file to be sent
local_file_to_send = 'C:\\Users\\tmp.txt'
with open(local_file_to_send, 'w') as f:
    f.write('I am a file\n')

url = "http://127.0.0.1:5000/customerupdate"

files = [
    ('document', (local_file_to_send, open(local_file_to_send, 'rb'), 'application/octet')),
    ('datas', ('datas', json.dumps(datas), 'application/json')),
]

r = requests.post(url, files=files)
print("sd")
print(str(r.content, 'utf-8'))

Python烧瓶API:

import json                                                     

from flask import Flask, request                                
from flask import send_file
app = Flask(__name__)                                           

@app.route('/',methods=['GET'])                                 
def hello_world():                                              
    return 'Hello World!'                                       

@app.route('/customerupdate',methods=['GET','POST'])            
def customerupdate():                                           
    posted_file = str(request.files['document'].read(), 'utf-8')
    posted_data = json.load(request.files['datas'])             
    print(posted_file)                                          
    print(posted_data)                                  
    return '{}\n{}\n'.format(posted_file, posted_data) 
if __name__=='__main__':
    app.run(debug='true',threaded=True)

以及接收文件的python get方法:

import requests
r = requests.get('http://127.0.0.1:5000')
print(r.text)

但是在get方法中我已经收到了文件的内容。但我想要它用于csv文件。我尝试通过制作.csv而不是.txt。但无法将文件发送到api。所以,是吗可以从一台机器发送 csv 文件并通过烧瓶在另一台机器上接收 csv 文件,如果解决方案可用,请发布代码。已经尝试使用此链接:Python Flask:发送文件和变量

我努力解决它。

标签: pythoncsvflaskpython-requests

解决方案


推荐阅读