编程错误:(psycopg2.ProgrammingError)无法适应类型“numpy.ndarray”

2024-03-18

我正在使用 pandas 创建一个 python 脚本来读取具有多个行值的文件。

读取后,我需要构建这些值的数组,然后将其分配给数据帧行值。

我使用的代码是

import re
import numpy as np
import pandas as pd
master_data = pd.DataFrame()
temp_df = pd.DataFrame()
new_df = pd.DataFrame()

for f in data:


##Reading the file in pandas which is in excel format 
#
file_df = pd.read_excel(f)


filename = file_df['Unnamed: 1'][2]


##Skipping first 24 rows to get the required reading values
column_names = ['start_time','xxx_value']
data_df = pd.read_excel(f, names=column_names, skiprows=25)


array =np.array([])

   for i in data_df.iterrows():
       array = np.append(array,i[1][1])


   temp_df['xxx_value'] = [array]
   temp_df['Filename'] = filename
   temp_df['sub_id']=       
   temp_df['Filename'].str.split('_',1).str[1].str.strip() 
   temp_df['sen_site']=    
   temp_df['Filename'].str.split('_',1).str[0].str.strip()
   temp_df['sampling_interval'] = 15
   temp_df['start_time'] = data_df['start_time'][2]


   new_df= new_df.append(xxx_df)

   new_df.index = new_df.index + 1
   new_df=new_df.sort_index()
   new_df.index.name='record_id'

  new_df = new_df.drop("Filename",1)    ##dropping the Filename as it          
  is not needed to be loaded in postgresql

 ##Rearrange to postgresql format
 column_new_df = new_df.columns.tolist()
 column_new_df.
 insert(4,column_new_df.pop(column_new_df.index('xxx_value')))
 new_df = new_df.reindex(columns = column_new_df)

 print(new_df)

当我尝试将数组数据插入 Postgresql 时,此代码不起作用。

它给了我一个错误,指出:

编程错误:(psycopg2.ProgrammingError)无法调整类型 'numpy.ndarray'


在我看来,最有效的方法是让 psycopg2 始终了解 np.ndarray(s)。可以通过注册一个适配器来做到这一点:

import numpy as np
from psycopg2.extensions import register_adapter, AsIs

def addapt_numpy_array(numpy_array):
    return AsIs(tuple(numpy_array))

register_adapter(np.ndarray, addapt_numpy_array)

为了帮助一般使用 numpy,我依赖于 psycopg2 的脚本/库的默认插件是:

import numpy as np
from psycopg2.extensions import register_adapter, AsIs

def addapt_numpy_float64(numpy_float64):
    return AsIs(numpy_float64)

def addapt_numpy_int64(numpy_int64):
    return AsIs(numpy_int64)

def addapt_numpy_float32(numpy_float32):
    return AsIs(numpy_float32)

def addapt_numpy_int32(numpy_int32):
    return AsIs(numpy_int32)

def addapt_numpy_array(numpy_array):
    return AsIs(tuple(numpy_array))

register_adapter(np.float64, addapt_numpy_float64)
register_adapter(np.int64, addapt_numpy_int64)
register_adapter(np.float32, addapt_numpy_float32)
register_adapter(np.int32, addapt_numpy_int32)
register_adapter(np.ndarray, addapt_numpy_array)

否则即使是数字类型也会出现一些问题。

我从另一个那里得到了适配器技巧堆栈溢出条目 https://stackoverflow.com/questions/50626058/psycopg2-cant-adapt-type-numpy-int64.

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

编程错误:(psycopg2.ProgrammingError)无法适应类型“numpy.ndarray” 的相关文章

  • Pytorch - 推断线性层 in_features

    我正在构建一个玩具模型来获取一些图像并进行分类 我的模型看起来像 conv2d gt pool gt conv2d gt linear gt linear 我的问题是 当我们创建模型时 我们必须计算第一个线性层的大小in features基
  • 如何使用playsound模块停止音频?

    如何在Python代码中通过playaudio模块停止音频播放 我播放过音乐 但我无法停止音乐 我怎样才能阻止它 playsound playsound name of file 您可以使用多处理模块将声音作为后台进程播放 然后随时终止它
  • Keras model.summary() 结果 - 了解参数数量

    我有一个简单的神经网络模型 用于使用 Keras Theano 后端 从用 python 编写的 28x28px 图像中检测手写数字 model0 Sequential number of epochs to train for nb ep
  • 如何将人物传奇带到前台?

    我有一系列子图 其中每个子图都有一个图例 我想在每个子图之外与相邻子图重叠 问题在于图例位于其自己的图的 顶部 但位于相邻图的下方 Legend 不将 zorder 作为参数 所以我不知道如何解决这个问题 这是我使用过的代码 import
  • TCP打孔问题

    我尝试使用 Python 3 中概述的原则为防火墙编写一个基本的 TCP 打孔器本文 http www bford info pub net p2pnat index html 不过 我无法连接任何东西 这是代码 usr bin pytho
  • Python实时读取串口数据

    我正在使用 Python 中的脚本通过串行端口以 2Mbps 的速度从 PIC 微控制器收集数据 PIC 在 2Mbps 下完美定时工作 FTDI USB 串行端口在 2Mbps 下工作也很好 均通过示波器验证 我每秒发送消息 大小约为 1
  • Python,将字典存储在数据库中

    在数据库中存储和检索 python 字典的最佳方法是什么 如果您对使用传统 SQL 数据库 例如 MySQL 不是特别感兴趣 您可以研究非结构化文档数据库 其中文档自然映射到 python 字典 例如MongoDB http www mon
  • 使用 Matplotlib 的范围绘制图像的 3D 轮廓

    正如我所介绍的here https stackoverflow com questions 18792624 fits image input to a range in plot python 在二维中 我想知道如何 缩放 要绘制到绘图中
  • 如何将嵌套的Python字典转换为简单的命名空间?

    假设我有一个深度为 N 的嵌套字典 如何将每个内部嵌套字典转换为简单的命名空间 example input key0a test key0b key1a key2a keyNx key2b test key1b test example o
  • 完全定制的Python帮助用法

    我正在尝试使用 Python 创建完全自定义的 帮助 用法 我计划将其导入到许多我想要具有风格一致性的程序中 但遇到了一些麻烦 我不知道为什么我的描述忽略换行符 尝试过 和 我无法让 出现在 ARGS 行的 换行符之后 显然它们坐在自己的行
  • 使用 argparse 指定默认文件名,但不使用 --help 打开它们?

    假设我有一个对文件执行一些操作的脚本 它在命令行上获取此文件的名称 但如果未提供 则默认为已知文件名 content txt 说 与蟒蛇的argparse 我使用以下内容 parser argparse ArgumentParser des
  • 为什么最简单的 requests_mock 示例在 pytest 中失败?

    我有一个特殊的问题requests mock 我想用它pytest测试我的 API 包装器库 我尝试过使用requests mock 文档中的第一个示例 http requests mock readthedocs io en latest
  • 自定义 Keras 损失函数中的 conv2d

    我正在尝试基于两个图像的拉普拉斯算子在带有 TF 后端的 Keras 中实现自定义损失函数 def blur loss y true y pred weighting of blur loss alpha 1 mae losses mean
  • 如何使直方图列的宽度都相同

    我在操作直方图时遇到了一些麻烦 我有一个包含两列的 df 我将它们绘制为堆叠直方图 我将它们放入特定的垃圾箱中 请参阅下面的代码 但我想在最后制作一个大垃圾箱 4000 10000 但是 默认情况下 大垃圾箱的列宽很大 有没有办法让这个大垃
  • 从网站上抓取数字和详细信息的数据

    我想从网站上抓取联系电话以及快递服务的相应详细信息 我无法从所有快递服务中获取联系电话和其他详细信息 例如姓名地址和评级 我分析的数据位于脚本标签中 请提出修复此问题的建议 import requests import pandas as
  • 如何打印和显示子进程 stdout 和 stderr 输出而不失真?

    也许有人可以帮助我解决这个问题 我在 SO 上看到了许多与此类似的问题 但没有一个问题同时处理标准输出和标准错误 也没有处理像我这样的情况 因此出现了这个新问题 我有一个 python 函数 它打开一个子进程 等待它完成 然后输出返回代码以
  • 如何向 RetrievalQA.from_chain_type 添加内存?或者,如何向 ConversationalRetrievalChain 添加自定义提示?

    如何向 RetrievalQA from chain type 添加内存 或者 如何向 ConversationalRetrievalChain 添加自定义提示 在过去的两周里 我一直在尝试制作一个可以通过文档聊天的聊天机器人 因此不仅仅是
  • Python itertools groupby 中令人不安的奇怪行为/错误?

    我在用itertools groupby解析一个短的制表符分隔的文本文件 文本文件有几列 我想做的就是对具有特定值的所有条目进行分组x在特定的列中 下面的代码对名为的列执行此操作name2 寻找变量中的值x 我尝试使用以下方法来做到这一点c
  • CryptoJS 和 Pycrypto 一起工作

    我正在使用 CryptoJS v 2 3 加密 Web 应用程序中的字符串 并且需要在服务器上使用 Python 对其进行解密 因此我使用 PyCrypto 我觉得我错过了一些东西 因为我无法让它工作 这是JS Crypto AES enc
  • IOError:在 Linux 上的 ReportLab 中使用 matplotlib PNG 时“解码器 zip 不可用”,适用于 Windows

    我正在使用 ReportLab 打印 matplotlib 生成的图表 我可以在我的 Windows 开发机器上毫无问题地执行此操作 然而 当我部署到 Ubuntu 服务器时 渲染失败并出现所述错误 我假设我缺少一个 Python 模块 但

随机推荐

  • Phonegap 调用 playAudio() 30 到 40 次后声音停止播放

    在我的应用程序中 我在鼠标单击时给出了声音响应 这就是我所做的 我已经这样调用函数了
  • 如何让消息框3秒后消失?

    我的应用程序中有一个确认屏幕 我告诉用户他的项目已成功保存 他可以按 确定 消息框就会消失 但如果他不这样做 如果没有响应 我怎样才能使消息框在3秒后消失 根据 MSDN 没有用户操作就无法关闭消息框 没有为此操作提供方法 http msd
  • 语法无效:使用初始排序键创建表排序键 auto

    我正在尝试使用target redshift将数据推送到aws redshift https pypi org project target redshift https pypi org project target redshift 我
  • 适用于 Android 的 Google Drive API - 仅 Drive.SCOPE_FILE 访问权限,需要只读

    所以我是个新手 我希望列出 Google 云端硬盘中的所有文件和文件夹 我已经下载了新的 SDK 让我的应用程序获得了所有授权等 我使用示例通过打开工具选择一个文件夹 然后在列表视图中显示内容 BUT NO文件已显示 它仅显示所选文件夹中的
  • 如何在构建之间缓存 Maven 存储库?

    我的目标是能够使用 councourse 构建管道构建 打包和测试使用 Maven 构建的 java 项目 这样的设置已经就位 一切都运行良好 但由于我们的 Nexus 的 Maven 下载率较差 构建时间太长 我的构建作业 yml 文件使
  • 无法创建将编辑者和签名者作为嵌入式收件人的信封

    我将使用我的应用程序凭据创建一个文档 该文档应由编辑接收者编辑并由签名接收者签名 尽管收件人编辑者有文档签名帐户 但它失败并出现以下错误 com docusign esign client ApiException errorCode ED
  • Android:与充当主机的 USB 设备通信

    我们制作了一个可以充当 USB 主机或从机并处理其接收到的数据的设备 我想使用Android手机通过USB向其发送数据 我的研究使我得出结论 如果不修改硬件或操作系统 我们就无法在 USB 主机模式下使用 Android 设备 这样做不是一
  • 比较两个字母数字字符串

    我需要将字符串与以下方式进行比较 任何人都可以为我提供一些关于 C 的见解或算法吗 例如 a5 lt a11 because 5 is less than 11 6xxx lt 007asdf because 6 lt 7 00042Q l
  • Django 模型验证日期和日期时间范围

    在 Django 模型中验证日期和日期时间间隔的最佳解决方案是什么 这是我的模型 class PriceOption Model from datetime DateTimeField verbose name from datetime
  • WPF:ViewModel 类型不包含任何可访问的构造函数

    我正在实例化我的存储库MainViewModel并将这个实例传递给我的孩子使用ViewModel i e CategoryViewModel 我得到了 严重性代码 说明 项目文件行 错误类型 CategoryViewModel 不包含任何可
  • Firebird 多个语句

    有没有办法在 Firebird 上执行多个语句 其中任何一个都不需要返回任何内容 就像导入 SQL 文件并执行它一样 我已经寻找了一段时间 但找不到任何与此相关的东西 执行块是exactly为了这个目的 工作于IBExpert还有一个简单的
  • Nodejs 和 Chrome 中 setTimeout 的不同行为

    代码示例是 global a aaa const obj a a desc console log this console log this a setTimeout obj desc 2000 当我在 Node js 中运行此代码时 我
  • 如何使用 PhantomJS 下载 csv 文件

    当我使用普通浏览器 Chrome 浏览网站 A 时 当我点击网站 A 上的链接时 Chrome 会立即下载 CSV 文件形式的报告 当我检查服务器响应标头时 我得到以下结果 Cache Control private max age 315
  • java LoginContext.login() 如何工作?

    我有以下代码来创建 java 客户端的配置以连接到 JBoss 应用程序服务器 System setProperty java security auth login config auth conf LoginContext auth n
  • android中如何限制横屏方向?

    android中如何限制横屏方向 您的问题很短 但我相信您是在问如何将活动的显示限制为特定方向 为此 请尝试使用android screenOrientation in the
  • 如何在 DirectShow 中更改输出引脚大小和色彩空间/压缩

    如何在 DirectShow 中更改视频源过滤器的输出引脚大小和色彩空间 压缩 我想知道输出引脚属性页数据的存储位置以及如何通过我的代码更改这些数据 您必须编写自己的转换过滤器 或者你可以使用像这样的过滤器FFDShow http ffds
  • 如何找到创建空 WADMetrics 表的 Azure 资源或设置?

    我们有一个资源不断在存储帐户上创建完全空的 WADMetrics 表 我们拥有大量的 Azure 资源 但无法找到创建它们的内容 因为它们完全是空的 似乎每 10 天创建 2 个表 旨在将数据存储在 1 小时和 5 分钟的存储桶中 我们如何
  • java.sql.SQLException: ORA-01843: 不是有效的月份

    将数据插入 Oracle 数据库时出现以下错误 java sql SQLException ORA 01843 not a valid month 数据库中的日期为 dd MMM yy 06 MAR 12 我通过以下方法将 06 03 20
  • Angular:如何配置日期选择器以禁用多个日期范围?

    我有一个带有属性的对象 范围 列表startDate and endDate 我需要在日期选择器上禁用这些范围内的日期的用户输入 例如 我想禁用之间的日期09 01 2019 and 09 02 2019以及之间的日期09 05 2019
  • 编程错误:(psycopg2.ProgrammingError)无法适应类型“numpy.ndarray”

    我正在使用 pandas 创建一个 python 脚本来读取具有多个行值的文件 读取后 我需要构建这些值的数组 然后将其分配给数据帧行值 我使用的代码是 import re import numpy as np import pandas