首页 > 解决方案 > 告诉 csv 不要分隔 csv 行中的时间戳

问题描述

我目前正在尝试分离 csv 文件中的一些信息。所有信息都通过':'分隔。这是一个例子:

    1234567890:0987654321234:Hino:Rei:Texas:07/12/2021 12:00:00 AM::

我正在尝试分离这些值,但我不想在日期之后包含时间戳。目前,我正在这样做:

read = csv.reader(csv_f, delimiter=":")
for row in read:
    print(row)

我得到的输出是:

['1234567890', '0987654321234', 'Hino', 'Rei', 'Texas', '07/12/2021 12', '00', '00 AM', '', '']

我想要得到的输出是这样的:

['1234567890', '0987654321234', 'Hino', 'Rei', 'Texas', '07/12/2021', '12:00:00 AM', '', '']

有没有人有任何建议我可以解决这个问题?出于某种原因,我想到了 RegEx,但我不完全确定......

标签: pythoncsv

解决方案


作为您的问题的解决方法,您可以根据需要处理输出列表:

read = read[:-5] + read[-5].split()[0] + [":".join([read[-5].split()[1]] + [read[-4:-2]])]

请注意,这是基于数据格式的解决方法,因此您必须确保所有 csv 都遵循相同的模式。


推荐阅读