Я пишу код на python для извлечения информации, такой как количество отзывов, цена, рейтинг и т. Д. Из API yelp. Но я получаю ошибку значения
def get_business_id(business):
#import pdb; pdb.set_trace()
try:
business_id = search_matches(API_KEY, business)
b_id = business_id['businesses'][0]['id']
except:
b_id = 'None'
return b_id
df=pd.read_csv("ABC_sample10.csv", encoding='cp1252')
df['zip_code']=df['zip_code'].apply(str)
df1 = df.to_dict(orient='record')
length = len(df1)
input_range = list(range(0, length))
def id_loop(df1):
empty = []
for i in input_range:
business_id = get_business_id(df1[i])
empty.append(business_id)
return empty
a = id_loop(df1)
def get_details(business_id):
empty_claimed = []
empty_review = []
empty_rating = []
empty_price = []
for i in input_range:
business_detail = get_business(API_KEY,business_id[i])
try:
claimed_ind1 = business_detail['is_claimed']
review_count_ind1 = business_detail['review_count']
rated_ind1 = business_detail['rating']
priced_ind1 = business_detail['price']
except:
claimed_ind1 = 'None'
review_count_ind1 = 'None'
rated_ind1 = 'None'
priced_ind1 ='None'
empty_claimed.append(claimed_ind1)
empty_review.append(review_count_ind1)
empty_review.append(rated_ind1)
empty_review.append(priced_ind1)
return empty_claimed, empty_review,empty_rating,empty_price
b = get_details(a)
df['yelp_id']=a
df['claimed']=b[0]
df['review_count']=b[1]
df['rating']=b[2]
df['price']=b[3]
df.to_csv('sample10_ABCOutput8.csv')
Я получаю ошибку:
Traceback (последний последний вызов):
Файл "", строка 179, в
DF [ 'REVIEW_COUNT'] = B [1]
Файл
"C: \ Users \ rthuria \ AppData \ Local \ Continuum \ miniconda3 \ envs \ PythonData \ Lib \ сайт-пакеты \ панды \ ядро \ frame.py",
строка 3116, в setitem
self._set_item (ключ, значение)
Файл
"C: \ Users \ rthuria \ AppData \ Local \ Continuum \ miniconda3 \ envs \ PythonData \ Lib \ сайт-пакеты \ панды \ ядро \ frame.py",
строка 3191, в _set_item
значение = self._sanitize_column (ключ, значение)
Файл
"C: \ Users \ rthuria \ AppData \ Local \ Continuum \ miniconda3 \ envs \ PythonData \ Lib \ сайт-пакеты \ панды \ ядро \ frame.py",
строка 3388, в _sanitize_column
значение = _sanitize_index (значение, self.index, copy = False)
Файл
"C: \ Users \ rthuria \ AppData \ Local \ Continuum \ miniconda3 \ envs \ PythonData \ Lib \ сайт-пакеты \ панды \ ядро \ series.py",
строка 3998, в _sanitize_index
повысить ValueError (длина значений не соответствует длине индекса)
ValueError: длина значений не соответствует длине индекса