Leí un archivo csv e hice algunas modificaciones de los datos repetidamente. E intenté guardar el csv con el nombre de archivo "naver_news_YYYY_MM_DD_HH_MM.csv. Sin embargo, si ejecuto este programa repetidamente, pero solo puedo encontrar el último archivo csv con" naver_news.csv ".

Este es el código que se sigue.

df.to_csv("C:/Users/Administrator/PycharmProjects/news/naver_news.csv", date_format='%Y-%m-%d', index = False, sep=',', encoding='ms949')

Entonces solo puedo encontrar un archivo "naver_news.csv" en mi computadora. El archivo de resultados que espero es el siguiente.

naver_news_2018_09_17_10_42.csv
naver_news_2018_09_17_11_42.csv
naver_news_2018_09_17_12_42.csv
naver_news_2018_09_17_13_42.csv 

Avíseme para guardar el archivo csv con la hora actual.

1
문정아 17 sep. 2018 a las 04:45

3 respuestas

La mejor respuesta

Deberá insertar la etiqueta de marca de tiempo en el nombre de archivo usted mismo.

ts = pd.to_datetime('today').strftime('%Y_%m_%d_%H_%M')
filename = f"C:/Users/Administrator/PycharmProjects/news/naver_news_{ts}.csv"
# filename = "C:/Users/Administrator/PycharmProjects/news/naver_news_{}.csv".format(ts) 
df.to_csv(filename, index=False, encoding='ms949')
2
cs95 17 sep. 2018 a las 01:49

Puede crear una función para obtener la marca de tiempo cuando lo desee,

from datetime import datetime


def get_date_time(fmt='%Y_%m_%d_%H_%M_%S'):
    date_stamp = datetime.now().strftime(fmt)
    print("%s " % date_stamp)
    return date_stamp


file_name = "C:/Users/Administrator/PycharmProjects/news/naver_news_{}.csv".format(get_date_time())
print(file_name)
1
Vijay Anand Pandian 17 sep. 2018 a las 01:55

De acuerdo con la pandas.DataFrame.to_csv documentación , date_format afecta solo a la cadena de formato para el objeto de fecha y hora dentro de dataframe, no al nombre de archivo, pero puede usar algo como:

from datetime import datetime
fn = "C:/Users/Administrator/PycharmProjects/news/naver_news_{}.csv".format(format(datetime.now(), '%Y_%m_%d_%H_%M'))
df.to_csv(fn, index = False, sep=',', encoding='ms949')
0
Pedro Lobito 17 sep. 2018 a las 02:03