Всякий раз, когда я использую strftime () в имени файла с модулем csv, мои данные не записываются в файл .csv - PullRequest
0 голосов
/ 30 июня 2018

У меня возникла проблема с попыткой поставить метку времени в имени файла с помощью 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 голосов
/ 30 июня 2018

Разобрался!

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

Я использую ": " в качестве разделителя для секунд, и это не нужно с именем файла в windows:)

...