Python в CSV файл сохранить, а не переопределить - PullRequest
0 голосов
/ 17 сентября 2018

Я прочитал файл csv и неоднократно вносил изменения в данные. И я попытался сохранить CSV с именем файла "naver_news_YYYY_MM_DD_HH_MM.csv. Однако, если я запускаю эту программу несколько раз, но я могу найти только последний файл CSV с" naver_news.csv ".

Это следующий код.

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

Тогда я могу найти только один файл "naver_news.csv" на моем компьютере. Нефть файла результатов, которую я ожидаю, выглядит следующим образом.

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 

Пожалуйста, дайте мне знать, чтобы сохранить CSV-файл с текущим текущим временем.

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

Согласно документации pandas.DataFrame.to_csv , date_format влияет только на строку формата для объекта даты и времени внутри dataframe, а не на имя файла, но вы можете использовать что-либокак:

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 голосов
/ 17 сентября 2018

Вы можете создать функцию для получения метки времени в любое время,

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)
0 голосов
/ 17 сентября 2018

Вам нужно будет вставить метку времени в имя файла самостоятельно.

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...