如何使用带有pandas的python剥离csv中的值



我正在做一个从Cisco ISE提取数据的小项目。原始数据的属性远远超出了我的需要。因此,我用下面的代码将文件提取为更少的属性。

from __future__ import print_function, unicode_literals
import csv
import pandas as pd
data = pd.read_csv('profiler_endpoints.csv')
df = pd.DataFrame(data)
df = df[["MACAddress","ip","host-name","operating-system","UpdateTime"]]
df['UpdateTime'] = pd.to_datetime(df['UpdateTime'])
df.to_excel("profiler_endpoints_trimmed3.xlsx")

提取表

提取的表格位于上面的链接中。我在使用date&自该列中UpdateTime的值为2021-04-15 11:46:44+0800格式以来的时间,并且当我尝试使用以下的代码将值转换为日期格式时,它显示错误dateutil.parser.ParserError:day超出了month:0的范围

df['UpdateTime'] = pd.to_datetime(df['UpdateTime'])

有没有任何方法可以将值转换为日期,或者将值从2021-04-15 11:46:44+0800修剪为2022-04-15,这样我相信使用pd.to_datetime()不会有问题

# First make the dataframe (just the time column)
data = {'UpdateTime': [
'2020-12-16 01:10:09+0800',
'2020-12-16 01:10:09+0800',
'2020-05-28 01:56:56+0800',
'2020-09-27 09:47:42+0800',
'2020-05-28 01:56:56+0800',
'2020-02-18 10:01:56+0800',
]}
df = pd.DataFrame(data)
# now convert to datetime
df['UpdateTime']=pd.to_datetime(df['UpdateTime'].str.split(' ',1).str[0])
# now double check that in fact we have a datetime
df.info()
out: 
RangeIndex: 6 entries, 0 to 5
Data columns (total 1 columns):
#   Column      Non-Null Count  Dtype         
---  ------      --------------  -----         
0   UpdateTime  6 non-null      datetime64[ns]
dtypes: datetime64[ns](1)

请注意,上面的dtypes是datetime64。你完了!

最新更新