如何将.csv文件中的datetime字符串列拆分为单独的日期和时间列?

时间:2019-11-04 22:38:05

标签: python linux csv

我在CSV文件中有一个名为date-time的列,其值如下:

"Oct. 25, 2019 12:35:30"

我需要将日期时间列分为两个分别名为datetime的不同列。

不知道如何进行。任何线索都会对我有很大帮助。

2 个答案:

答案 0 :(得分:2)

您可以使用pandas包来有效地读取,处理和分析csv文件。

给出如下的csv文件:

date-time
"Oct. 25, 2019   12:35:30"
"Oct. 26, 2019   13:00:00"

尝试以下操作以实现所需的输出:

#after pip install pandas, import the module
import pandas as pd 

#Read your input csv file
df = pd.read_csv('your_file.csv')

#Convert all the string values of date-time column to datetime objects
df['date-time-obj'] = pd.to_datetime(df['date-time'])

#Create two new columns with date-only and time-only values
df['date-only'] = df['date-time-obj'].dt.date
df['time-only'] = df['date-time-obj'].dt.time

#Deleted temporarily created column
del df['date-time-obj']

#Save your final data to a new csv file
df.to_csv('result.csv', index=False)

输出:

                  date-time   date-only time-only
0  Oct. 25, 2019   12:35:30  2019-10-25  12:35:30
1  Oct. 26, 2019   13:00:00  2019-10-26  13:00:00

答案 1 :(得分:1)

在csv文件的解析阶段,我将使用正则表达式将两者拆分。如果您可以提供代码,我可以为您提供更具体的解决方案。