2016-08-31 8 views
-1

私はcsvファイルからデータをインポートし、適切にフォーマットしてPOSTリクエストとしてAPIに提出できるようにしています。ここに私のコードです。私は私のCSVからデータを引き出し、データの '行'部分を置き換えることができるので、何千もの行を入力しないようにしたいが、正しい書式設定を得ることができない。CSVファイルからデータを読み込み、リクエストで使用するフォーマット

import pandas as pd 
import json 
df = pd.read_csv('test.csv', sep=',',header=0,parse_dates=True) 
dfj = df.to_json(orient="records") 

import requests 
headers = { 
    'Authorization': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' 
} 
data = { 
    'id': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 
    'rows':[ 
     { 'field_0': 123, 'field_1': 'Sup', 'field_2': 16.5 }, 
     { 'field_0': 321, 'field_1': 'Nice', 'field_2': 16.2 }, 
     { 'field_0': xyz, 'field_1': 'Apple', 'field_2': 16.1 }, 
     { 'field_0': dfd, 'field_1': 'Orange', 'field_2': 19.2 } 
    ] 
} 


response = requests.post('https://www.api.com/upload/data', 
         headers=headers, 
         json=data) 

私は何かシンプルなものを見落としていると確信していますが、これについて間違った方法をとっているかもしれません。

答えて

0

私は遅かれ​​早かれそれを把握することが分かっていました。標準のcsvリーダーを使用して、私はちょうど辞書リストとしてフォーマットする必要がありました。

import csv 
with open('test.csv', 'rb') as f: 
    reader = csv.DictReader(f) 
    your_list = list(reader) 

ここで、データはAPIインポートに使用される適切な形式になっています。

関連する問題