【问题标题】:Save a csv file in python with datetime as filename以日期时间为文件名在python中保存一个csv文件
【发布时间】:2018-08-12 19:50:42
【问题描述】:

我有以下代码:

import csv
import requests
from bs4 import BeautifulSoup
import datetime

with open("D:/python/sursa_alimentare.csv", "w+") as f:
        writer = csv.writer(f)
        writer.writerow(["Descriere", "Pret"])`    

因为我经常运行它,所以我想使用包含日期时间格式的名称保存 csv 文件。 任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 您是否尝试过获取当前日期时间,从中制作一个字符串,然后将该字符串放入文件名中.csv 之前的文件名中?
  • @Cristina,您希望输出的外观如何?

标签: python csv datetime


【解决方案1】:

你必须使用.strftime

filename = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M.csv")

with open(filename, "w+") as f:
    writer = csv.writer(f)
    writer.writerow(["Descriere", "Pret"])` 

这里有一些细节https://www.tutorialspoint.com/python/time_strftime.htm

【讨论】:

  • 谢谢你,它工作得很好。另外,感谢您的教程。非常有用。
【解决方案2】:

避免直接使用datetime.now(),因为这会在文件名中创建:,如果在Windows 文件系统上使用会失败。而是使用 strftime() 添加所需的格式:

from datetime import datetime

filename = datetime.now().strftime('sursa_alimentare-%Y-%m-%d-%H-%M.csv')

with open(filename, "w+") as f_output:
        csv_output = csv.writer(f_output)
        csv_output.writerow(["Descriere", "Pret"])

给出一个文件名,例如:

sursa_alimentare-2018-03-05-09-01.csv

【讨论】:

  • 感谢您的回答。有用。祝你有美好的一天:)
  • 不客气!不要忘记单击向上/向下箭头下方的灰色勾号以获取其中一个答案以将其选为已接受的解决方案。
【解决方案3】:

我想这可能会帮助您在文件名中添加日期时间,

import csv
import requests
from bs4 import BeautifulSoup
import datetime

file_name = 'sursa_alimentare-'+str(datetime.datetime.now())+'.csv'
with open(file_name, "w+") as f:
        writer = csv.writer(f)
        writer.writerow(["Descriere", "Pret"])

【讨论】:

  • 谢谢。我试过你的解决方案,它很完美。祝你有美好的一天。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
相关资源
最近更新 更多