我正在寻找一种从pandas数据框发布csv文件直接的方法,而无需将其保存在本地文件中,然后发布。
在我的情况下,URL是一个服务,听取我的请求需要scv
有没有办法让一个url作为df.to_csv(url)的参数直接发布?
我尝试了以下方法:(得到了错误的回复)
import requests
agg_data=pd.read_csv('some_csv.csv')
r = requests.post('http://crystal-ball-some_url', data ={'agg_data':agg_data.to_csv()})
print (r)
<Response [400]>
答案 0 :(得分:2)
@Anton vBR谢谢!
结果证明有效:
slider_output = agg_data.to_csv()
files = {'file': ('agg_data.csv', slider_output)}
requests.post('some_url', files=files)
答案 1 :(得分:0)
感谢@AntonvBR。下面的代码适用于python 3.7.3
import requests
files = {('files', ('aug_template.csv', aug_annotation_df.to_csv()))}
response = requests.post(url=UPLOAD_URL, params=params, files=files, data=body)