将日期从 Excel 文件转换为 pandas

2024-01-17

我正在导入Excel文件,其中“日期”列有不同的书写方式:

      Date
13/03/2017
13/03/2017
13/03/2017
13/03/2017
   10/3/17
   10/3/17
    9/3/17
    9/3/17
    9/3/17
    9/3/17

导入到熊猫:

df = pd.read_excel('data_excel.xls')
df.Date = pd.to_datetime(df.Date)

结果是:

                     Date
               13/03/2017
64             13/03/2017
65             13/03/2017
66             13/03/2017
67    2017-10-03 00:00:00
68    2017-10-03 00:00:00
69    2017-09-03 00:00:00
70    2017-09-03 00:00:00
71    2017-09-03 00:00:00
72    2017-09-03 00:00:00

这意味着,pandas 没有正确解析日期和时间:

10/3/17 -> 2017-10-03

当我尝试指定格式时:

df.Date = pd.to_datetime(df.Date, format='%d%m%Y')

收到错误:

ValueError: time data u'13/03/2017' does not match format '%d%m%Y' (match)

问题:

如何将Excel文件中的日期和时间正确导入到pandas中?


新答案:

实际上pd.to_datetime has a dayfirst此处有用的关键字参数:

df.Date = pd.to_datetime(df.Date,dayfirst=True)

Result:

>>> df.Date
0   2017-03-13
1   2017-03-13
2   2017-03-13
3   2017-03-13
4   2017-03-10
5   2017-03-10
6   2017-03-09
7   2017-03-09
8   2017-03-09
9   2017-03-09
Name: Date, dtype: datetime64[ns]

旧答案:

使用第三方模块dateutil http://dateutil.readthedocs.io/en/stable/index.html它可以处理这些类型的变化。它有一个dayfirst此处有用的关键字参数:

import dateutil

df = pd.read_excel('data_excel.xls')
df.Date = df.Date.apply(lambda x: dateutil.parser.parse(x,dayfirst=True))

Result:

>>> df.Date
0   2017-03-13
1   2017-03-13
2   2017-03-13
3   2017-03-13
4   2017-03-10
5   2017-03-10
6   2017-03-09
7   2017-03-09
8   2017-03-09
9   2017-03-09
Name: Date, dtype: datetime64[ns]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将日期从 Excel 文件转换为 pandas 的相关文章

  • SQLAlchemy 中 mssql+pyodbc 出现“数据源名称太长”错误

    我正在尝试使用 SQLAlchemy 和 pyodbc 将数据帧上传到 Azure SQL Server 数据库上的数据库 我已建立连接 但上传时出现错误 pyodbc Error IM010 IM010 Microsoft ODBC 驱动
  • Python,Google Places API - 给定一组纬度/经度查找附近的地点

    我有一个由商店 ID 及其纬度 经度组成的数据框 我想迭代该数据框 并使用 google api 为每个商店 ID 查找附近的关键地点 例如输入 Store ID LAT LON 1 1 222 2 222 2 2 334 4 555 3
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • 删除 VBA 按钮集合

    我正在使用以下脚本在 Excel 中生成按钮 范围正是我希望放置它的位置 Sub CreateAddButton rng As Range Dim btn As Button With Worksheets User Set btn But
  • 如何获取活跃的Excel实例?

    我有一个 C 应用程序 该应用程序根据用户需求将信息粘贴到 excel 背后的逻辑是这样的 如果没有正在运行的 excel 实例 它会创建一个实例并粘贴到该实例 如果只有一个实例在运行 它会尝试获取该实例并使用它 这是我用来执行此操作的代码
  • python XlsxWriter 设置多个单元格周围的边框

    I need an easy way to set border around multiple cells like so 我发现的只是 1 个单元格的边框 并合并单元格 这不是我需要的 我期待类似的事情 worksheet range
  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • 勾选或取消勾选复选框时输入时间戳

    我有一个 3 行 7 列的工作表 A1 G3 A 和 B 列有 6 个复选框 A1 B3 A 列和 B 列中的框分别链接到 C 列和 D 列 E 列和 F 列中的单元格只是分别复制 C 列和 D 列 实时E1细胞是 C1 and F3细胞是
  • 在 Excel 中查找结果将行复制到另一张工作表

    我需要一些帮助将数据从一个 Excel 工作表复制到另一个 例如 样本数据 A B C 1 aaa bbb ddd 2 bbb ccc eee 2 bbb ccc eee 3 ccc fff rrr 4 ccc fff ttt 5 ddd
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此
  • 如何从shiny中将数据下载到多张纸上?

    我们如何将数据从 Shiny 下载到多个工作表并命名每个工作表 例如下面 ginberg将mtcars数据保存在sheet1中 我们可以将头部 mtcars 保存在sheet2中吗 另外 我们可以对这些工作表进行不同的命名吗 例如sheet
  • 如何在不使用外部库(如Numpy、Pandas)的情况下读取CSV文件?

    这是面试中经常出现的问题 我知道如何使用读取 csv 文件Pandas 然而 我正在努力寻找一种在不使用外部库的情况下读取文件的方法 Python 是否带有任何可以帮助读取 csv 文件的模块 你最有可能将需要用于读取 CSV 文件的库 虽
  • Excel VBA:声明通用对象与指定对象类型之间的区别

    我发现使用声明为的变量出现了意外的 至少对我来说 行为Object在 Excel vba 中 我试图从 html 页面中提取一些数据 所以我使用了这样的例程 sub Test Dim htmlPage As htmlDocument Thi
  • for 循环中的 pandas isin 函数

    1 csv cut price depth carat table 0 Good 327 57 9 0 23 65 0 1 Good 335 63 3 0 31 58 0 2 Very Good 336 62 8 0 24 57 0 3 V
  • DAO.DBEngine 类不再在使用 Windows 10 的 MS Access 2016 中注册

    客户端最近从 Windows 7 升级到 10 并从 Access 2013 迁移到 2016 包含在 Office 365 中 Excel 中的 VBA 宏现在会生成以下错误 运行时错误 2147221164 80040154 类未注册
  • Pandas apply 与 np.vectorize 从现有列创建新列的性能

    我正在使用 Pandas 数据框 并希望创建一个新列作为现有列的函数 我还没有看到关于之间速度差异的很好的讨论df apply and np vectorize 所以我想我会在这里问 熊猫apply 功能很慢 根据我的测量 在一些实验中如下
  • 如何解锁和锁定 Excel 单元格以运行宏

    我有一个电子表格 有两个按钮 从数据库检索记录 另一个按钮用于将更改从 Excel 上传到数据库 从数据库检索记录的宏如下 现在 在检索记录后 我希望用户仅编辑某些列 此处为从一月到场景的列 以便用户在更新这些单元格后可以单击更新按钮将更改
  • 使用 EPplus 在 Excel 中添加下拉菜单

    我需要帮助 如何使用 Epplus 在 Excel 中添加下拉列表 无需验证 我只需要把它添加到我的模板中 下拉列表中的记录不是动态的 using ExcelPackage p new ExcelPackage ExcelWorksheet
  • Django 接受 AM/PM 作为表单输入

    我试图弄清楚如何使用 DateTime 字段在 Django 中接受 am pm 作为时间格式 但我遇到了一些麻烦 我尝试在 forms py 文件中这样设置 pickup date time from DateTimeField inpu

随机推荐

  • usemin revved 文件名和 requirejs 依赖项

    我在 requirejs 和 usemin 中遇到以下问题 我想设置一个多页面应用程序 在其中动态加载仅包含页面特定功能的模块 例如 about gt about js home gt home js 我可以继续将所有内容打包在一个文件中
  • 带有名为“PropertiesController”的控制器的 ASP.NET MVC 路由[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我在尝试使用名称为 PropertiesController 的控制器 以及随后的路由 时遇到了一个棘手的问题 请耐心等
  • 如何从命令行运行 R 脚本文件

    我知道关于这个问题有很多问题 但我已经尝试了一切 我想我只是不明白命令行在 Windows 中是如何工作的 我的桌面上的文件夹中保存了一个文件 比方说 C Users abika 000 Desktop R models myfile R
  • urwid - 无限循环的输出屏幕

    我正在尝试制作一个简单的 urwid 作为无限循环的输出屏幕 它需要输出来自另一个类的数据 我现在找到的解决方案是 有一个 Printer 类 实际输出类的测试替换器 和queue属性 当需要显示某些内容时 会将其附加到queue 然后 有
  • 删除索引后是否应该重新编译表?

    我正在删除一些未使用的索引 我通常做的是 确保统计信息已更新 也许索引尚未使用 因为统计信息已经有一段时间没有更新了 为每个涉及的索引生成删除索引脚本和创建索引脚本 运行删除索引命令 update statistics tablename
  • Python VS Code 导入不起作用“无模块名称请求”

    我是 python 新手 刚学了 6 个月的 c 也是 VS Code 来自 VS 的新手 我的错误是 gt 发生异常 ModuleNotFoundError 没有名为 requests 的模块 文件 C Users ryanb Docum
  • Swift 中的 AES128 加密

    我对 AES 128 加密有疑问 iOS 中的加密字符串与 Android 中的加密字符串不同 下面是安卓代码 public class Encryption private static final String ALGORITHM AE
  • CardLayout 显示下一个面板 - java Swing

    我在使用 CardLayout 时遇到一些问题 我有一个面板和一个 下一步 按钮 单击它后我想显示第二个面板 在我的代码中 当我单击 下一步 按钮时 不会显示下一个面板 有人可以帮我解决这个问题吗 package com test impo
  • 如何删除文件中除第一个匹配行之外的重复行

    在下面的配置文件中 etc fine tune conf 我们有重复的行 clean history in os true 我们要删除所有包含以下内容的行clean history in os true除了文件中的第一个匹配行 到目前为止我
  • Firebase 令牌过期和处理刷新令牌的最佳实践

    我目前正在客户端应用程序 基于 Cordova 的移动应用程序 上使用 Firebase 并使用客户端上的 firebase 用户身份验证方法 使用电子邮件和密码登录 FacebookAuthProvider 根据我目前对会议到期的理解和经
  • MSBuild 使用 ItemGroup 和 EXEC 命令

    我创建了代码片段中显示的 ItemGroup 我需要迭代此 ItemGroup 并运行 EXEC 命令 也在代码片段中显示 我似乎无法让它发挥作用 代码返回如下所示的错误 注意 消息被写入 2 次 这是正确的 但 EXEC 命令未正确运行
  • AWK - 是否可以按不同字段&&按小时细分日志文件

    Question 我想知道是否可以awk独自闯入 一个日志文件 然后有awk输出一条不同的消息 小时细分 00 23 以及该特定时间的计数 小时与不同的消息 Example 请求的输出 Message1 00 13 01 30 23 6 M
  • WPF .NET4.0 重用 UserControl 的相同实例

    我想显示用户控件的同一实例两次 我尝试过执行以下操作
  • Javascript 和 CSS 文件在 Maven 构建中组合,无需压缩、缩小等

    有没有一个 Maven 插件只结合了 js 和 css 资源 但不做任何缩小 混淆 压缩等操作 只是简单的资源串联 对您的项目进行以下更改 In your pom xml
  • 在linux中设置java_home和path环境变量[重复]

    这个问题在这里已经有答案了 我下载了 java 8 和 amd 组合包 以便在 Linux 中使用 Cassandra 当我运行 cassandra 时 它显示为 无法找到 java 可执行文件 检查JAVA HOME和PATH环境变量 如
  • 使用系统数据源而不是用户数据源作为 ODBC 连接字符串

    OdbcConnection DbConnection null try DbConnection new OdbcConnection Driver SQL Anywhere 10 Uid user pwd pass Dsn
  • 了解 Elixir 函数参数中的模式匹配

    在 Elixir in Action 一书中 其中一个示例的一个函数颠覆了我对模式匹配的理解 def add entry TodoList entries entries auto id auto id todo list entry do
  • 从 BitBucket Rest API v2.0 获取文件

    我有一个脚本 它使用 bitbucket REST API 1 0 从 GIT 获取文件 但它最近停止工作 我推测这可能是由于 v1 REST API 被贬值所致 但我不确定 无论如何 我正在尝试使用新的 2 0 REST API 检索文件
  • 具有并行命令的 Jenkins 管道

    我有这个基本的詹金斯管道 注 我省略了subJobParams使代码更小 pipeline agent any stages stage stage1 steps script parallel mongoParallel build jo
  • 将日期从 Excel 文件转换为 pandas

    我正在导入Excel文件 其中 日期 列有不同的书写方式 Date 13 03 2017 13 03 2017 13 03 2017 13 03 2017 10 3 17 10 3 17 9 3 17 9 3 17 9 3 17 9 3 1