繁体   English   中英

Python 从 CSV 中提取日期

[英]Python strip date from CSV

我目前有一个循环,它遍历 CSV 的每一行并提取信息并通过 selenium 进入网站。

我目前正在为下拉框日期字段而苦苦挣扎。 日期格式为 30/12/2000。

我想我应该能够去掉日期的每一部分并将其发送到该框中的发送键并按回车键。

我正在使用这样的东西。

from datetime import datetime

with open('/Users/me/Downloads/dates_test.csv',newline='') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    for row in readCSV:
        try:
           driver = find stuff on page
           d = (row[1])
           objd = datetime.strptime(d, '%d %m %Y')
           sign_up_date = driver.find_element_by_xpath("//*[@id='membership-signed-up-     on']/a").click()
            sleep(1)
            day1 = driver.find_element_by_xpath("//*[@id='membership_signed_up_on_3i']").click()
            day1.send_keys(objDate.day)
            day1.send_keys(Keys.RETURN)

两个问题,

  1. 我目前收到此错误。

    ValueError: 时间数据“17/05/2021”与格式“%d %m %Y”不匹配

  2. 我在正确的轨道上吗? 有一个更好的方法吗。

你很亲近。 只需更改这一行:

objd = datetime.strptime(d, '%d %m %Y')

对此

objd = datetime.strptime(d, '%d/%m/%Y')

或者,如果您不想处理日期格式,则可以使用dateutil库:

from dateutil import parser as p

objd = p.parse(d)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM