【问题标题】:Error in Date parsing : CSV to DB using python日期解析错误:使用 python 的 CSV 到 DB
【发布时间】:2014-07-11 11:07:54
【问题描述】:

我正在尝试使用 python 从 CSV 文件中提取日期并将其上传到数据库中。
在 CSV 中,日期格式为 dd/mm/YYYY HH:MM,例如 21/04/14 17:24, 2014 年 7 月 4 日 17:12。
在尝试将日期插入 DB(Sql 服务器)之前,我在 python 控制台上打印它。 但是以下格式会产生错误[日期在 0-9/月 0-9/年之间],例如 7/4/2014 17:12,04/02/2014 会产生以下错误

ValueError: time data '7/4/2014 17:12' does not match format '%d/%m/%y %H:%M'

我的代码是这样的

formatter_string = "%d/%m/%Y %H:%M"
                for row in reader:
                        datetime_object = datetime.strptime(row[9], formatter_string)
                        row[9] = str(datetime_object.date())
                        print "insert into "+UploadTable+" values ("+nullcheckstr(row[9])+")"

附加信息:nullcheckstr() 确保日期不为空,row[9] 是 CSV 中的日期列

【问题讨论】:

  • %Y 不是%y;它应该是 4 位数年份的大写 y
  • 也试过了!没用。
  • 错误是什么?
  • 如果你只想要日期部分,只需拆分字符串。 '7/4/2014 17:12'.split()[0].

标签: python sql-server csv


【解决方案1】:

感谢 behzad.nouri,CSV 文件存在问题。有些日期采用 dd/mm/YYYY 格式,有些采用 dd/mm/YY 格式。我已更正它们并将文件上传到数据库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-07
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    • 2021-02-07
    相关资源
    最近更新 更多