python - ValueError:时间数据'30 avr。2020 23:19:12' 与格式 '%d %b %Y %H:%M:%S' 不匹配
问题描述
我想用 strptime 转换法语日期。
query_time=time.strptime(query_time, '%d %b %Y %H:%M:%S')
正在处理1 mai 2020 10:21:26
但未处理30 avr. 2020 23:19:12
。我指定了这行代码
locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
.
这两个日期具有相同的模式,你知道为什么这对第二个不起作用吗?
这是我的代码:
import re
import time
import pandas as pd
from datetime import datetime
from bs4 import BeautifulSoup
import locale
locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
# Fetch the html file
html_doc = googleData = open("./MonActivité_vr.html", encoding='utf8')
# Parse the html file
soup = BeautifulSoup(html_doc, 'html.parser')
rows = soup.find_all("div", class_="outer-cell")
i = 0
j = 0
searchMonth = []
searchDay = []
searchYear = []
Recherche = []
URL= []
for row in rows:
i += 1
print(f"Ligne {i} : ")
cells = row.find_all("div", class_="content-cell")
print(cells)
# search / visited
substring = "Vous avez consulté"
if substring in str(cells[0]):
print("Search")
# SERP
print(cells[0])
for a in cells[0].find_all('a', href=True):
print(f"SERP : {a['href']}")#récupère le contenu de l'attribut href qui contient l'url du site consulté
URL.append(a['href'])
print("\n")
print(f"KW : {a.string}")#récupère le contenu texte de la balise a => titre de la page consultée
Recherche.append(a.string)
# Time 16 mai 2020 à 16:50:52 CET
query_time = ''.join(cells[0].find('br').next_siblings)
print(query_time)
# Removing timezone
query_time = query_time.replace(" CET", "")
query_time = query_time.replace(" à", "")
print(query_time)
#query_time = time.mktime(datetime.datetime.strptime(query_time, "%d %b %Y %H:%M:%S").timetuple())
query_time=time.strptime(query_time, '%d %b. %Y %H:%M:%S')
#print(query_time[0])
searchDay.append(query_time[2])
searchMonth.append(query_time[1])
searchYear.append(query_time[0])
print(query_time)
print("\n")
print(f"Date : {query_time}")
print("\n")
else:
print("Visited")
searchDict = {
'URL':URL,
'Recherche':Recherche,
'searchDay':searchDay,
'searchMonth':searchMonth,
'searchYear':searchYear
}
print(searchDict)
searchDF = pd.DataFrame(searchDict)
searchDF.to_csv(path_or_buf = 'D_searchData.csv',index=False)
解决方案
第一个日期有效,因为mai
它是法语的完整月份名称,但avr
它是avril
. 30 avril 2020 23:19:12
作品。
推荐阅读
- azure - 如何使用 Azure 构建代理部署到内部服务器?
- c - 当我尝试换行时,它没有正确插入
- javascript - Dynamobd 错误:即使我输入了实际条目 ID,扫描结果也不会过滤到 HASH
- php - 你能在 PHP 中为 Firebase 获得一个短暂的 OAuth 2.0 访问令牌吗?
- c# - 如何将 IndexOf 与来自 mongodb c# 的 Builders 过滤器一起使用
- java - 当人脸位于所需帧中时,如何实时启动 ML Kit 人脸检测
- angular - Http调用在角度通用中进行了两次
- php - 将 HTML 标记添加到所见即所得编辑器
- java - 重新获取 BufferedImage 的先前 Graphics2D 实例
- wordpress - 如何在模板 Wordpress 中插入标题属性