How could i improve the following code. This part was easy to implement but there is a lot of redondancy and i use pandas to return as dict which seems quite odd.
def pipeline_place_details(place_id, fields, lang):
"""Return a dataframe with useful information
Args:
place_id ([string]): Id retrieved from google api
fields ([type]): Field retrieved from json output
"""
fields = ['name', 'formatted_address', 'international_phone_number', 'website', 'rating', 'review']
lang = 'fr'
# details will give us a dict which is the result of serialized json returned from google api
details = get_place_details(place_id, fields, "fr")
try:
website = details['result']['website']
except KeyError:
website = ""
try:
address = details['result']['formatted_address']
except KeyError:
address = ""
try:
phone_number = details['result']['international_phone_number']
except KeyError:
phone_number = ""
try:
reviews = details['result']['reviews']
except KeyError:
reviews = []
rev_temp = []
for review in reviews:
author_name = review['author_name']
user_rating = review['rating']
text = review['text']
time = review['relative_time_description']
rev_temp.append((author_name, user_rating, text, time))
rev_temp_2 = pd.DataFrame(rev_temp, columns = ['author_name', 'rating', 'text', 'relative_time'])
rev_temp_2['place_id'] = i
rev_temp_2['address'] = address
rev_temp_2['phone_number'] = phone_number
rev_temp_2['website'] = website
review_desc = review_desc.append(rev_temp_2, ignore_index = True)
return review_desc.to_dict('records')
```