使用 to_sql 写入 datetime.date 会引发操作错误

2024-01-01

我正在使用最新的 pandas 14.1 并使用 to_sql 方法写入 MS SQL Server 2008 v2 服务器。使用 SQLalchemy 作为引擎。以下带有日期时间对象的数据框按预期工作。

#test DataFrame
df1 = pd.DataFrame(index=range(10))
df1['A'] = 'Text'
df1['date_test'] = datetime.datetime(2014,1,1)

用于写入数据库的代码:

import sqlalchemy
engine = sqlalchemy.create_engine('mssql+pymssql://XXXXXXX')
df1.to_sql('test', engine, if_exists='replace')

出于业务原因,数据库中的数据需要是日期对象而不是日期时间。如果我使用:

#test DataFrame
df2 = pd.DataFrame(index=range(10))
df2['A'] = 'Text'
df2['date_test'] = datetime.date(2014,1,1)  # date not datetime

to_sql 方法给出了很长的错误消息:

OperationalError: (OperationalError) (206, 'Operand type clash: datetime is incompatible 
with textDB-Lib error message 206, severity 16:\nGeneral SQL Server error:
Check messages from the SQL Server.......

我的第一个怀疑是,如果在方法中使用日期,这可能是 Pandas 14.1 中新创建的功能的错误。但不确定。


更新:从 pandas 0.15 开始,to_sql支持写列datetime.date and datetime.time (https://github.com/pydata/pandas/pull/8090 https://github.com/pydata/pandas/pull/8090,现在处于开发版本)。


支持datetime.date and datetime.timetypes 目前 (0.14.1) 尚未实现(仅适用于datetime64类型,以及datetime.datetime将转换为那个),但是添加这个应该很容易(有一个问题:https://github.com/pydata/pandas/issues/6932 https://github.com/pydata/pandas/issues/6932).

问题是,目前,to_sql在数据库中创建一个文本类型的列datetime.date列(就像对所有列所做的那样)object数据类型)。因此,您会收到上述错误消息。
目前一个可能的解决方案是自己创建数据库,然后将数据帧附加到其中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 to_sql 写入 datetime.date 会引发操作错误 的相关文章

  • 忽略 Mercurial hook 中的某些 Mercurial 命令

    我有一个像这样的善变钩子 hooks pretxncommit myhook python path to file myhook 代码如下所示 def myhook ui repo kwargs do some stuff 但在我的例子中
  • TransactionScope 是否需要开启 DTC 服务?

    根据我的阅读 为了在 NET 中使用 TransactionScope 您需要运行 Windows 中的分布式事务协调器服务 我有那个服务关掉 并且我的应用程序似乎运行相同并且回滚事务没有问题 我错过了什么吗 它如何能够发挥作用呢 我正在运
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • 为什么在 Python 2.4 中使用 Unicode 数据会出现 ASCII 编码错误,而在 2.7 中却不会?

    我有一个程序 当在 Python 2 7 中运行时 会生成正确的 Unicode 输出到标准输出 当在 Python 2 4 中运行时 我得到UnicodeEncodeError ascii codec can t encode chara
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • 使用函数的 SQL 查询 - 如何获取列表的最大计数

    如何查询 MAXIMUM COUNT 交易次数 我的代码如下 SELECT customer id COUNT customer id FROM rental GROUP BY customer id HAVING MAX COUNT cu
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d

随机推荐

  • 为整个应用程序设置Python27 Google AppEngine默认编码

    我想将我的 python27 appengine 站点的默认编码设置为 utf 8 默认为 ascii 有一个类似的问题回答过http code google com p googleappengine issues detail id 5
  • 用于操作系统检测的 PHP 正则表达式

    我使用此代码来检测用户的操作系统
  • 无法创建 AWS-SNS GCM 帐户,显示无效凭证消息

    到目前为止 我一直在寻找有关这个特定问题的资源 但运气不佳 所以我想我会在这里尝试 我正在尝试使用 GCM 在 AWS SNS 控制台中创建 Amazon Web Service 简单通知服务应用程序 我已经毫无问题地创建了 iOS 版本的
  • 当启用 use strict 时,如何找到 JavaScript 中的调用者函数?

    是否可以在以下情况下看到函数的被调用者 调用者use strict已启用 use strict function jamie console info arguments callee caller name this will outpu
  • 为什么 event.getSource() 对于具有相关源视图的辅助功能事件返回 null?

    对于 android widget Button 上的事件 TYPE VIEW CLICKED事件 getSource https developer android com reference android view accessibi
  • 如何验证用户当前的密码?

    所以 也许我在文档中的某个地方错过了这一点 但我找不到类似的东西 我不希望我的用户必须输入当前密码才能创建新密码 据我了解 如果用户经过身份验证 他就可以更新密码而无需提供当前密码 即使这可能有点安全 我宁愿让他输入他的旧密码 以防止人们继
  • 定义计算相关矩阵的协方差矩阵的函数

    我在矩阵转换以及行和列的名称方面遇到一些问题 我的问题如下 作为输入矩阵我有一个 对称 相关矩阵像这个 The 相关向量由下三角矩阵的值给出 现在 我想计算这些相关性的方差 协方差 矩阵 它们近似正态分布方差 协方差 矩阵 The 差异可以
  • MonadBaseControl 的用途是什么?

    我正在深入研究 Yesod 的 monad 并且遇到了MonadBaseControl 我看了一眼 hackage 文档 然后就迷路了 有人可以告诉我它试图解决的问题吗 Michael Snoyman 实际上写了一个关于 monad con
  • 还要注意项目文件

    I use sbt以下列方式 我跑 test compile在 sbt 中工作 然后在 IDE 中工作 偶尔观察项目是否仍然可以编译 因为 IDE 的演示编译器往往有错误 当我git pull一些代码 可能会发生变化project 文件 所
  • 如何使用 RXJS 每 2 分钟进行一次 http 调用?

    我有一项服务每 2 分钟就会呼叫我的休息服务 在我的服务中我有以下功能 getNotifications token string const body xxxxxxxxx token return this http post rest
  • Ruby 数组创建,Array.new 与 []

    这两种说法有什么区别 我在我的 Rails 应用程序中使用它们 对我来说 它们看起来像做同样的事情 array a Array new array b 这两个语句在功能上是相同的 Array new但是可以接受参数和块 Array new
  • 如何利用 Google Firebase 数据库中的过滤器和子元素

    Working on an Android app that is using the new Firebase Database framework It has data objects that are modeled like th
  • 将 WebSocket 与 ASP.NET Web API 结合使用

    在 ASP NET Web API 应用程序中使用原始 Websocket 的首选方法是什么 我们想用binaryASP NET Web API 应用程序的几个接口上的 WebSocket 我很难确定应该如何完成此操作 因为 NET 的在线
  • CouchDB 视图出错

    我一直在使用 CouchDB 和 RelaxDB rub y 库 但创建一个视图然后尝试访问它会导致一个令人讨厌的非特定错误 我退后一步 因为我认为 RelaxDB 可能与我正在使用的 CouchDB 版本 0 8 1 不兼容 但即使我创建
  • 准备好的语句的最佳实践;何时做、何时不做

    我最近开始在 Web 应用程序中再次使用准备好的语句 并且我知道不鼓励对所有事务使用准备好的语句 我不知道什么时候最好使用准备好的语句 我读过何时使用和不使用它们 但没有一个示例真正说明了使用它们的最佳实践 我试图弄清楚哪些数据库调用我应该
  • github for windows 每天崩溃几次

    我最近开始工作Github通过他们的本机 Windows 应用程序 它非常好 但是它经常崩溃 可怕的是我在崩溃后丢失了所有最近的更改 所有本地文件将回滚到成功提交或同步的最后版本 我使用的是 64 位 Windows 8 机器 有任何想法吗
  • python 中的 ctypes 与 memset 崩溃

    我正在尝试从内存中删除密码字符串就像这里建议的那样 https stackoverflow com questions 982682 mark data as sensitive in python 983525 983525 我写了这个小
  • 是否存在 TcpClient.Close 或 Socket.Close(0) 可能阻止我的代码的情况?

    由于没有指定 Close 方法是线程安全的 我应该从锁中调用它 我如何确定它不会阻塞我的线程 我应该禁用 LingerState 还是可以启用它 顺便说一句 我需要同时调用 TcpClient Close 和 TcpClient Clien
  • Sinatra + Heroku + Datamapper 与 dm-sqlite-adapter 的部署问题

    由于某种原因 heroku 尝试要求 dm sqlite adapter 尽管它应该在这里使用 Postgres 请注意 这种情况发生在我打开任何 URL 时 而不是在 git 推送本身期间 我构建了一个默认的 Facebook 应用程序
  • 使用 to_sql 写入 datetime.date 会引发操作错误

    我正在使用最新的 pandas 14 1 并使用 to sql 方法写入 MS SQL Server 2008 v2 服务器 使用 SQLalchemy 作为引擎 以下带有日期时间对象的数据框按预期工作 test DataFrame df1