python - 将 pandas to_datetime 函数应用于 excel 日期格式
问题描述
我决定使用 to_datetime 函数进行练习,为此我将日期的源格式更改为整数,这是在阅读 excel 文件后,每列的样子
import numpy as np
import pandas as pd
data =pd.read_excel("pivot.xlsx")
#data["Date"] =pd.to_datetime(data["Date"],format='%d%m%y',infer_datetime_format=True)
print(data.head())
结果是:
Order ID Product Category Amount Date Country
0 1 Carrots Vegetables 4270 42375 United States
1 2 Broccoli Vegetables 8239 42376 United Kingdom
2 3 Banana Fruit 617 42377 United States
3 4 Banana Fruit 8384 42379 Canada
4 5 Beans Vegetables 2626 42379 Germany
在源代码中,日期列的日期格式在 2016 年 1 月 6 日之后,所以当我应用 to_datetime 函数时,我得到以下结果:
import numpy as np
import pandas as pd
data =pd.read_excel("pivot.xlsx")
data["Date"] =pd.to_datetime(data["Date"],format='%d%m%y',infer_datetime_format=True)
print(data.head())
result :
Order ID Product ... Date Country
0 1 Carrots ... 1970-01-01 00:00:00.000042375 United States
1 2 Broccoli ... 1970-01-01 00:00:00.000042376 United Kingdom
2 3 Banana ... 1970-01-01 00:00:00.000042377 United States
3 4 Banana ... 1970-01-01 00:00:00.000042379 Canada
4 5 Beans ... 1970-01-01 00:00:00.000042379 Germany
我该如何解决?在excel中的开始日期是1900对吗?我该如何申请?是否可以从这些整数中返回真实日期?
解决方案
您可以使用该openpyxl.utils.datetime.from_excel()
方法。
from openpyxl.utils.datetime import from_excel
df['Date'] = df['Date'].apply(from_excel)
print(df)
Order ID Product Category Amount Date Country
0 1 Carrots Vegetables 4270 2016-01-06 United States
1 2 Broccoli Vegetables 8239 2016-01-07 United Kingdom
2 3 Banana Fruit 617 2016-01-08 United States
3 4 Banana Fruit 8384 2016-01-10 Canada
4 5 Beans Vegetables 2626 2016-01-10 Germany
推荐阅读
- c++ - 将 CBitmap 转换为 HICON 并在状态栏上使用它
- java - 在 Android Studio 中的自定义 AlertDialog 顶部覆盖图像
- java - 使用 FFMPEG 过滤器模拟着色器结果
- c# - 使用 Web 服务来显示列表 xamarin 表单
- android - Android Studio 在每次构建时下载 .pom 插件
- c - 我应该研究哪个函数来在 C 中创建一个套接字?
- ajax - 从 JSON 接收数据到函数并保存在 laravel
- java - 当我尝试使用 Selenide 获取 window.dataLayer 时出现 StaleElementReferenceException
- python - /collection/order/ FOREIGN KEY 约束处的 IntegrityError 添加新对象时出现错误
- java - 传递基类类型的引用时,JSON 仅序列化基类字段