Python Flask:发送和接收csv文件

时间:2019-03-13 09:31:30

标签: python csv flask python-requests

我创建了一个Flask 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 flask 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。 ,是否可以通过flask从一台计算机上发送csv文件并在另一台计算机上接收csv文件,如果有解决方案,请发布代码。 已尝试使用以下链接:Python Flask: Send file and variable

我正在努力解决它。

0 个答案:

没有答案