У меня есть Python код, который извлекает данные из стороннего API. Ниже приведен код.
for sub in sublocation_ids:
city_num_int = sub['id']
city_num_str = str(city_num_int)
city_name = sub['name']
filter_text_new = filter_text.format(city_num_str)
data = json.dumps({"filters": [filter_text_new], "sort_by":"fb_tw_and_li", "size":200, "from":1580491663000, "to":1588184960000, "content_type":"stories"})
r = requests.post(url = api_endpoint, data = data).json()
if r['articles'] != empty_list:
articles_list = r["articles"]
time.sleep(5)
articles_list_normalized = json_normalize(articles_list)
df = articles_list_normalized
df['publication_timestamp'] = pd.to_datetime(df['publication_timestamp'])
df['publication_timestamp'] = df['publication_timestamp'].apply(lambda x: x.now().strftime('%Y-%m-%d'))
df['citystate'] = city_name
df = df.drop('has_video', 1)
df.to_excel(writer, sheet_name = city_name)
writer.save()
Теперь city_num_int = sub['id']
- это уникальный идентификатор для разных городов. Теперь API возвращает столбец «видео» для нескольких городов, а не для других. Я хочу избавиться от этого видео столбца, прежде чем он будет записан в файл Excel.
Мне удалось удалить столбец "has_video", используя df.drop
, поскольку этот столбец присутствует в каждом потоке данных города. Но как сделать условное удаление для столбца "видео", поскольку он присутствует только для нескольких городов.