首页 > 解决方案 > requests.post 返回 {'code': 400, 'message': '必须在数据字段中提供 CSV 文件'}

问题描述

我拼命尝试将以下 CURL 转换为 python 代码:

curl -X POST -F data=@C:\search.csv -F columns=NO_VOIE -F columns=TYPE_DE_VOIE -F columns=VOIE -F columns=CODE_POSTAL -F columns=COMMUNE -F result_columns=latitude -F result_columns=longitude -F result_columns=score https://api-adresse.data.gouv.fr/search/csv/

不用说,这个 CURL 工作得很好,给出了一个地理编码地址列表,基于一个 CSV 文件,该文件C:\search.csv存储了要使用 GPS 标签进行地理编码的地址。

search.csv =
INDEX,NO_VOIE,TYPE_DE_VOIE,VOIE,CODE_POSTAL,COMMUNE
201620160000000,77,RUE,TONY REVILLON,1750,SAINT-LAURENT-SUR-SAONE
201620160000001,,,LES BROTTEAUX,1160,VARAMBON
201620160000002,,,LES BROTTEAUX,1160,VARAMBON
201620160000003,,,LES BROTTEAUX,1160,VARAMBON
201620160000004,5246,,LES BROTTEAUX,1160,VARAMBON

我的 python 3.7 代码是:

import requests

url = 'https://api-adresse.data.gouv.fr/search/csv/'

params = {'data':'c:\search.csv',
         'columns':'VOIE'}

output = requests.post (url,json=params).json()

print (output)

{'code': 400, 'message': 'A CSV file must be provided in data field'}

求救

API 文档在这里:https ://geo.api.gouv.fr/adresse

标签: pythonpostpython-requests

解决方案


推荐阅读