本地化日期时间列

时间:2018-10-02 18:15:56

标签: python pandas

此代码的目的是读取一个csv文件,该文件的列名为“ DateTime”。

此列上的日期基于不是我的“ EST”时区,因此代码必须将date time列本地化为我的系统时区。

当我尝试此代码时:

import pandas as pd
from datetime import datetime
from pytz import timezone
from tzlocal import get_localzone

df = pd.read_csv(r"C:\Users\Sayed\Desktop\script\data.csv")
print(df)
format = "%Y-%m-%d %H:%M:%S %Z%z"
for date in df['DateTime']:
    date = datetime(timezone('EST'))
    now_local = date.astimezone(get_localzone())
    print(now_local.strftime(format))

我收到此错误:

Traceback (most recent call last):

  File "D:/Projects/Tutorial/ff.py", line 10, in <module>
    date = datetime(timezone('EST'))

TypeError: an integer is required (got type EST)

1 个答案:

答案 0 :(得分:2)

假设let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] let start = 2 let end = 3 var result = array.slice(start, end+1); console.log(result)列已为DateTime类型,您可以尝试将tz_localizetz_convert函数一起使用

为此替换您datetime循环:

for

此后,您的df['DateTime'] = df['DateTime'].dt.tz_localize('EST').dt.tz_convert(get_localzone()) 列应具有本地时区的日期时间。