使用csv模块和datetime模块解析时间戳

奥黛尔·奥古斯托·特鲁希略·奥罗斯科

datetime在Python中遇到了一些问题我有来自csv文件的数据:

user_id,timestamp
563,0:00:21
671,0:00:26
780,0:00:28

这是我的代码:

import csv
from datetime import datetime

path = "/home/haldrik/dev/python/data/dataset.csv"
file = open(path, newline='')

reader = csv.reader(file, delimiter=',')

header = next(reader) # Ignore first row.

data = []
for row in reader:
    # row = [user_id, timestamp]
    user_id = row[0]
    timestamp = datetime.strptime(row[1], '%H:%M:%S').time()
    
    data.append([user_id, timestamp])

该代码将引发以下错误:

Traceback (most recent call last):
  File "/home/haldrik/dev/python/instances_web_site.py", line 15, in <module>
    date = datetime.strptime(row[1], '%H:%M:%S').time()
  File "/usr/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "/usr/lib/python3.8/_strptime.py", line 349, in _strptime
    raise ValueError("time data %r does not match format %r" %
ValueError: time data '' does not match format '%H:%M:%S'

我找不到错误在哪里。我可以看到数据格式符合指定的时间格式。

倾倒cvs导入步骤,我可以确保它可以正常工作,请参见以下代码片段(上述代码中未包含):

data_import = [row for row in reader]
print(data_import[0])

它输出以下内容:

['563','0:00:21']
特伦顿·麦金尼
  • 您在timestamp列中的一个或多个值存在问题,其中行看起来像440,并且将导致time data '' does not match format '%H:%M:%S'
  • 包装date = datetime.strptime(row[1], '%H:%M:%S').time()try-except块。

test.csv

user_id,timestamp
563,0:00:21
671,0:00:26
780,0:00:28
440,

import csv
from datetime import datetime

path = "test.csv"
file = open(path, newline='')

reader = csv.reader(file, delimiter=',')

header = next(reader) # Ignore first row.

data = []
for row in reader:
    # row = [user_id, timestamp]
    user_id = row[0]
    try:
        timestamp = datetime.strptime(row[1], '%H:%M:%S').time()
    except ValueError as e:
        timestamp = row[1]
#         continue  # use this if you do not want the row added to data, comment it out otherwise
    
    data.append([user_id, timestamp])


print(data)
[out]:
[['563', datetime.time(0, 0, 21)], ['671', datetime.time(0, 0, 26)], ['780', datetime.time(0, 0, 28)], ['440', '']]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

perl使用DateTime模块转换EPOCH时间

来自分类Dev

在python中使用datetime模块比较时间

来自分类Dev

使用datetime模块解析日期时,为什么格式代码“%-m”和“%-d”不起作用?

来自分类Dev

CSV中的Pandas和python datetime时间戳

来自分类Dev

在python和csv模块中解析csv文件

来自分类Dev

如何使用pathlib和csv模块编写?

来自分类Dev

使用CSV模块解析CSV字符串

来自分类Dev

使用时间模块时无法写入csv

来自分类Dev

DateTime解析ANSI C时间戳

来自分类Dev

结合使用MaterializeCSS和Webpack-无法解析模块'hammerjs'

来自分类Dev

使用单独的模块时进行快速路由和URL解析

来自分类Dev

Python datetime模块并获取当前时间

来自分类Dev

如何从 datetime 模块更新本地时间?

来自分类Dev

CSV模块和pygeocoder错误

来自分类Dev

使用Webpack的条件解析模块

来自分类Dev

PHP DateTime和时间戳计算

来自分类Dev

使用Objective-C将时间戳解析为日期和时间时出现的问题

来自分类Dev

将EST,CST和DST时区转换为Python 3中Pytz模块中的Unix时间戳

来自分类Dev

如何使用json2csv nodejs模块将JSON对象解析为CSV文件

来自分类Dev

在不使用CSV模块的情况下将CSV解析为元组列表

来自分类Dev

使用JavaScript解析Apache日志时间戳

来自分类Dev

Python:使用 datetime.time() 模块时,时间打印为 00:00:00

来自分类Dev

在Tkinter模块中使用时间模块

来自分类Dev

解析包含日期,时间和偏移量的时间戳

来自分类Dev

使用Java从CSV文件读取时间戳

来自分类Dev

使用Java从CSV文件读取时间戳

来自分类Dev

阅读和组织不带模块的CSV吗?

来自分类Dev

如何解析包含数组的JS Object,以在JavaScript的json2csv模块中使用?

来自分类Dev

Datetime 模块和 Pandas to_datetime 给出不同的结果

Related 相关文章

  1. 1

    perl使用DateTime模块转换EPOCH时间

  2. 2

    在python中使用datetime模块比较时间

  3. 3

    使用datetime模块解析日期时,为什么格式代码“%-m”和“%-d”不起作用?

  4. 4

    CSV中的Pandas和python datetime时间戳

  5. 5

    在python和csv模块中解析csv文件

  6. 6

    如何使用pathlib和csv模块编写?

  7. 7

    使用CSV模块解析CSV字符串

  8. 8

    使用时间模块时无法写入csv

  9. 9

    DateTime解析ANSI C时间戳

  10. 10

    结合使用MaterializeCSS和Webpack-无法解析模块'hammerjs'

  11. 11

    使用单独的模块时进行快速路由和URL解析

  12. 12

    Python datetime模块并获取当前时间

  13. 13

    如何从 datetime 模块更新本地时间?

  14. 14

    CSV模块和pygeocoder错误

  15. 15

    使用Webpack的条件解析模块

  16. 16

    PHP DateTime和时间戳计算

  17. 17

    使用Objective-C将时间戳解析为日期和时间时出现的问题

  18. 18

    将EST,CST和DST时区转换为Python 3中Pytz模块中的Unix时间戳

  19. 19

    如何使用json2csv nodejs模块将JSON对象解析为CSV文件

  20. 20

    在不使用CSV模块的情况下将CSV解析为元组列表

  21. 21

    使用JavaScript解析Apache日志时间戳

  22. 22

    Python:使用 datetime.time() 模块时,时间打印为 00:00:00

  23. 23

    在Tkinter模块中使用时间模块

  24. 24

    解析包含日期,时间和偏移量的时间戳

  25. 25

    使用Java从CSV文件读取时间戳

  26. 26

    使用Java从CSV文件读取时间戳

  27. 27

    阅读和组织不带模块的CSV吗?

  28. 28

    如何解析包含数组的JS Object,以在JavaScript的json2csv模块中使用?

  29. 29

    Datetime 模块和 Pandas to_datetime 给出不同的结果

热门标签

归档