Python 将日期/时间戳格式从Excel对象数据类型更改为数据帧(字符串)
因此,我设法从Excel中提取了一个特定的单元格,但现在我得到了以下结果: 2020-01-30T00:00:00.000000000 我使用拆分函数删除了“T”后面的字符:Python 将日期/时间戳格式从Excel对象数据类型更改为数据帧(字符串),python,excel,pandas,Python,Excel,Pandas,因此,我设法从Excel中提取了一个特定的单元格,但现在我得到了以下结果: 2020-01-30T00:00:00.000000000 我使用拆分函数删除了“T”后面的字符: d1 = d.str.split("T",n=1, expand=True)[0] 结果是: 2020-01-30 我的问题是如何将日期格式更改为dd/mm/yyyy 我知道strftime函数,但是我没有从中得到结果。错误总是显示序列没有序列属性或日期。datetime不是字符串的属性 以下是工作代码: imp
d1 = d.str.split("T",n=1, expand=True)[0]
结果是:
2020-01-30
我的问题是如何将日期格式更改为dd/mm/yyyy
我知道strftime函数,但是我没有从中得到结果。错误总是显示序列没有序列属性或日期。datetime不是字符串的属性
以下是工作代码:
import pandas as pd
import datetime
df = pd.read_csv('test1.xlsx',
#header=None,
#names = headers,
dtype = dtypes,
parse_dates = pdate,
date_parser=None)
d = df['AA']
d1 = d.str.split("T",n=1, expand=True)[0]
d2 = d1[0]
print(d2)
AA Num
0 2020-01-01 5
1 2020-02-01 10
2 2020-03-01 15
3 2020-04-01 20
4 2020-05-01 25
第一个想法是使用:
如果需要删除T
之后的值,您的解决方案应更改为:
df['AA'] = pd.to_datetime(df['AA'].str.split("T").str[0])
我已使用您的示例创建了一个数据帧,以下是答案:
import pandas as pd
from datetime import datetime
然后我创建了数据帧
data = {'date': ['2020-01-01T00:00:00.000000000','2020-02-01T00:00:00.000000000','2020-03-01T00:00:00.000000000','2020-04-01T00:00:00.000000000','2020-05-01T00:00:00.000000000'],
'num':[5, 10, 15, 20, 25]
}
df = pd.DataFrame(data, columns = ['date', 'num'])
现在,答案是:
df['date'] = pd.to_datetime(df['date']).dt.strftime('%d/%m/%Y')
要显示四位数年份,您需要通过大写字母“Y”。您需要使用dt.strftime来工作
date num
0 01/01/2020 5
1 01/02/2020 10
2 01/03/2020 15
3 01/04/2020 20
4 01/05/2020 25
如果要更改日期列的格式,可以使用以下代码行
df['date'].astype(str)
这会将整个列转换为对象。您好,但是如果数据太长,是否可以创建df而不在“data”变量中列出所有内容?我创建的这个“data”字典作为示例显示并将其转换为dataframe,您已经将xslx文件读取为dataframe了。您不需要创建数据变量。您可以从答案部分继续。但是在拆分“T”之前的字符串后,日期结构保持不变。我希望它是“%d/%m/%Y”@SyahmiShaarani-不明白,
2020-01-01
格式错误?我已将字符串拆分为那样。现在,我希望这一年是最后一年,而不是最前面一年。它必须是'01-01-2020',而不是2020-01-01'@SyahmiShaarani-好的,所以使用df['AA']=pd.to_datetime(df['AA'].str.split(“T”).str[0]).dt strftime('%d-%m-%Y')
-但它是字符串,而不是字符串datetimes@SyahmiShaarani-如果需要datetimes,则无法自定义格式,则datetimes始终采用pythonYYYY-MM-DD
格式
df['date'].astype(str)