#python #python-3.x #for-loop
#питон #python-3.x #для-петли
Вопрос:
Мой код удаляет данные с общедоступного сайта, сохраняет их в формате df и сохраняет в формате csv, но мой код работает плохо.
for ano in lista_ano: for distribuidora in lista_distribuidores: for mes in lista_mes: scraping = pd.read_html('https://www2.aneel.gov.br/aplicacoes/indicadores_de_qualidade/decFecSegMensal.cfm?mes={}amp;ano={}amp;regiao=SEamp;distribuidora={}amp;tipo=d'.format(mes,ano,distribuidora)) dfs= pd.DataFrame(scraping[0]) dfs.drop(dfs.tail(3).index,inplace=True) dfs.drop(dfs.head(2).index,inplace=True) dfs = dfs.assign(MES = '{}'.format(mes)) dfs = dfs.assign(ANO = '{}'.format(ano)) dfs = dfs.assign(DISTRIBUIDORA = '{}'.format(distribuidora)) all_dfs = pd.DataFrame(dfs) all_dfs.to_csv('final_data.csv', encoding= 'utf-8')
Моя проблема здесь в том, что мои all_dfs.to_csv создают новый csv для каждого цикла и не хранят данные в одном и том же локальном файле.
Комментарии:
1. Что ты изменил?
2. я лучше написал о своих проблемах, я не видел, что мое сообщение уже было опубликовано.
3. Вы перезаписываете один и тот же CSV-файл новыми данными на каждой итерации ваших циклов. Все, что было написано в предыдущей итерации, теряется.
4. Этот код перезаписывается в файл final_data.csv на каждом шаге цикла. Однако неясно, чего вы пытаетесь достичь, поэтому я не могу сказать вам больше, чем это.
Ответ №1:
Вы перезаписываете существующий csv-файл на каждой итерации.
Чтобы исправить это, просто укажите, что вы хотите добавить вместо записи по
all_dfs.to_csv('final_data.csv', encoding='utf-8', mode='a')