我有一个csv文件,我想将它发布到Django REST API URL。
我可以发布,但它只是csv文件的最后一行
这是我的代码
import requests
import os
import csv
def insert_data_to_api():
# CSV file path
csv_folder = "csv"
csv_file_name = "my_data.csv"
csv_file_path = os.path.join(csv_folder, csv_file_name)
url = "http://127.0.0.1:8000/api/url/"
with open(csv_file_path, newline='') as file:
# create a CSV reader object using DictReader
reader = csv.DictReader(file)
print("")
print("==== FOR LOOP =====")
print("")
# iterate over each row in the CSV file
for row in reader:
# access the values in the row using the column headers
print(row)
print("")
print("==== From data =====")
print("")
response = requests.post(url, json=row)
if response.status_code == 200 or 201:
print("Data inserted successfully")
else:
print(f"Failed to insert data: {response.status_code}")
insert_data_to_api()
这就是我使用的代码。试图插入所有但它只插入最后的数据从.csv文件.
2条答案
按热度按时间jgzswidk1#
从www.example.com读取csv到dict示例https://docs.python.org/3/library/csv.html?highlight=dictreader#csv.DictReader
这是你的大致情况:
huwehgph2#
你实际上想创建一个dict并把它放到你的工作函数中。(您也可以使用
pandas
模块来完成此操作)。创建一个dict是这样做的:
现在你可以将dict读/解析到你的函数
insert_data_to_api()
中,尽管你需要修改它以接受一个dict作为参数。