每当我在csv模块中使用filename的strftime()时,我的数据都不会写入.csv文件

时间:2018-06-30 00:02:18

标签: python csv datetime timestamp strftime

我尝试使用strftime()为文件名添加时间戳时遇到了问题

这是代码:

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as souce
import csv
import datetime


csv_file_stamped='prices_checked-'+time.strftime("%Y-%m-%d-%H:%M")+'.csv'
print(csv_file_stamped)
csv_file_new=open(csv_file_stamped,'w')
csv_writer=csv.writer(csv_file_new)
csv_writer.writerow(["Item_Link","Item_Price"])

csv_file=open('scraped_from_ebay.csv','r')
csv_reader=csv.DictReader(csv_file)
data=list(csv_reader)
links=len(data)
print("Total number of links to be checked: "+str(links)+"\n")
csv_file2=open('scraped_from_ebay.csv','r')
csv_reader2=csv.DictReader(csv_file2)

for line in csv_reader2:
    uClient=uReq(line['Item_link'])
    page_html=uClient.read()
    uClient.close()
    page_soup=souce(page_html, "html.parser")
    price_dirty=page_soup.find("span",{"class":"notranslate"})
    price_clean=price_dirty.get_text().replace("EUR ","")
    csv_writer.writerow([line['Item_link'],price_clean])

有趣的是,我得到一个没有任何扩展名且文件中没有数据的空白文件。如果我使用csv_file_new=open('whatevername.csv','w')可以正常工作。数据被写入文件,并且文件具有正确的名称和扩展名。但是,当我打印csv_file_stamped时,得到的正是所需的文件名。 知道是什么原因引起的问题吗? 预先感谢

1 个答案:

答案 0 :(得分:0)

想通了!

csv_file_stamped=str('prices_checked-'+time.strftime("%Y-%m-%d-%H:%M")+'.csv')

我使用“ ”作为秒分隔符,并且在Windows中没有文件名:)