#python #api #web-services #authentication #python-requests
#python #API #веб-сервисы #аутентификация #python-запросы
Вопрос:
Я публиковал несколько раз раньше, но, к сожалению, я не получил никакого ответа.
Я пытаюсь подключиться к API для рабочих целей, поэтому я не могу поделиться фактическим URL. Аутентификация прошла нормально, и я получил токен доступа. Проблема в том, что мне нужно просмотреть файл csv, прочитать строку за строкой, затем выполнить вызов API, а затем опубликовать строку, которая имеет в основном два значения, в URL
Ниже приведен мой скрипт для чтения файла и отправки строки в URL: Примечание: мне также нужно будет опубликовать токен аутентификации
import pandas as pd
import requests
import csv
df = pd.read_csv('test.csv')
def check(filename):
with open(filename, 'r') as f_in:
for index, row in df.iterrows():# this will go until the end of the file
url2 =''
value1= row["value1"]
value2= row["value2"]
dic2 ={'value1':value1,'value2':value2}
getdata = requests.post(url2, auth = authtoken, data = dic2)
Error2 = response2.json()["ErrorCode"]
if (Error2=='2004'):
print("Authorization Token Value is Incorrect or Expired")
elif (Error2=='2005'):
print("Request Has Been Failed to Validate Data")
filename='test.csv'
check(filename)
В настоящее время я получаю сообщение об ошибке, в котором говорится:
Ошибка типа: объект ‘str’ не вызывается
Ошибка, указывающая на приведенную ниже строку кода:
проверка (имя файла)
Я не уверен, действительно ли публикация значений в API URL работает или нет из-за этой ошибки. Ценю любую поддержку в этом.
Спасибо
Комментарии:
1. Неясно, какая строка выдает ошибку? «check (filename)» — это передает имя файла, а затем вы считываете текстовый файл в переменную с именем «f_in» и никогда не используете ее. Возможно, измените метод на «check ()» и удалите «с open (filename, ‘r’) как f_in». Вы же не хотите, чтобы один и тот же файл открывался дважды!
2. Также у вас есть переменная «getdata», которая никогда не используется. И вы проверяете переменную «response2.json ()», которая никогда не назначается и выдает нулевую ошибку