无法转换日期时间

2024-05-16 23:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉,我试了几天;无法在Python中转换日期时间

我一直在尝试将第一列(日期)转换为datetime格式。 然后减去7小时&;30分钟作为名为“PDN日期”的新列。 由于“日期”列中存在错误数据(例如字符串), 我使用了“errors='compresse'”将坏数据转换为NAN

import datetime
Tonnage1["PDN Date"]=pd.to_datetime(Tonnage1["Date"], format='%d-%m-%y %H:%M:%S',errors='coerce')+datetime.timedelta(hours=-7,minutes=-30)
Tonnage1.head()

最后,我得到的是“PDN日期”列中的所有NAT。 我能做什么?:'(

附录:

以下是整个脚本:

*在谷歌硬盘中获取文件:

from google.colab import drive
drive.mount ('/content/drive')

*像往常一样导入所有内容:

import pandas as pd
import glob
import numpy as np
import os
import datetime
import openpyxl

*合并google drive中的所有文件:

li=[]
os.chdir('/content/drive/MyDrive/Raw Data/')
allFiles=(glob.glob("*/*/*.xls"))

for file in allFiles:
  df=pd.read_excel(file,index_col=False)

  li.append(df)

Tonnage=pd.concat(li,axis=0,ignore_index=True)

消除不必要的列:

Tonnage1=Tonnage.drop([  "Unnamed: 5","Unnamed: 6","Unnamed: 7","Unnamed: 8","Unnamed: 9","Unnamed: 10","Unnamed: 11","Unnamed: 12","Unnamed: 13","Unnamed: 14","Unnamed: 15","Unnamed: 16","Unnamed: 17"],axis=1)

*重命名标题

Tonnage1 = Tonnage1.rename(columns={'Unnamed: 0':'Date','Unnamed: 1':'formula','Unnamed: 2':'Customer','Unnamed: 3':'sortClass','Unnamed: 4':'weight'})

*最终转换日期

 Tonnage1["PDN Date"]=pd.to_datetime(Tonnage1["Date"], format='%d-%m-%Y %H:%M:%S',errors='coerce')+datetime.timedelta(hours=-7,minutes=-30)
    Tonnage1.head()

Tags: to数据importformatdatetimedatelidrive
1条回答
网友
1楼 · 发布于 2024-05-16 23:23:06

您已接近,请将%y更改为%Y格式的比赛年YYYY,并将/改为-

Tonnage1["Date"]=pd.to_datetime(Tonnage1["Date"], 
                                format='%d/%m/%Y %H:%M:%S',
                                errors='coerce')

相关问题 更多 >