繁体   English   中英

使用 DictReader 从 csv 文件中检索数据

[英]Retrieving data from csv file using DictReader

我在 CSV 文件中有一长串任务。 每行都有一个列名,其持续时间的格式为 10 秒、1-2 小时、1 小时.10 分钟等。我想将这些时间转换为秒。 请指导。 看这里的例子

您将需要根据单位解析每个条目。 可以使用正则表达式来提取数字。 例如:

import csv
import re

with open('input.csv') as f_input:
    csv_input = csv.DictReader(f_input)
    
    for row in csv_input:
        duration = row['duration(hours/minutes)']
        last_digits = int(re.findall(r'\d+', duration)[-1])
        
        if 'second' in duration:
            seconds = last_digits
        elif 'minute' in duration:
            seconds = last_digits * 60
        elif 'hour' in duration:
            seconds = last_digits * 3600
        else:
            print(f"{duration} - not understood")
        
        print(f"{duration}, convert {last_digits} into {seconds} seconds")

这将显示:

24 minutes, convert 24 into 1440 seconds
13 seconds, convert 13 into 13 seconds
1-2 hours, convert 2 into 7200 seconds
>3 hours, convert 3 into 10800 seconds
11 seconds, convert 11 into 11 seconds
2 minutes, convert 2 into 120 seconds
8-9 minutes, convert 9 into 540 seconds

暂无
暂无

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

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