将 Pandas 数据框插入 Cassandra 表

2024-01-13

来自文档 https://datastax.github.io/python-driver/getting_started.html,有一种方法可以将数据插入表中:

session.execute(
    """
    INSERT INTO users (name, credits, user_id)
    VALUES (%s, %s, %s)
    """,
    ("John O'Reilly", 42, uuid.uuid1())
)

必须在那里注明列名称。但是,就我而言,我有一个数据框,其中只有一个标题行和一行数据,例如:"sepal_length" : 5.1,"sepal_width" : 3.5,"petal_length" : 1.4 ,"petal_width" : 0.2, "species" : "Iris" .

用户将为我的 API 提供信息,以连接到其特定 Cassandra 数据库的表,该表包含存储在数据框中的列名称。如何根据映射到表的列标题插入数据帧的数据,而无需像文档中所述对列名称进行实际硬编码,因为不同情况下的标题不相同。

我正在努力实现这样的目标:

def insert_table(df, table_name, ... #connection details):
    #Set up connection and session
    session.execute(
        """
        INSERT INTO table_name(#df's column header)
        VALUES (%s, %s, %s)
        """,
        (#df's data for the only row)
    ) 

我发现this https://github.com/aaronbenz/caspanda但我实际上只需要一个简单的插入操作。


您可以使用以下命令获取 Dataframe 的列名称

column_names = list(my_dataframe.columns.values)

你可以重写insert_table(...)接受列名列表作为参数。

例如,可以使用字符串替换来形成 CQL 语句:

cql_query = """
    INSERT INTO {table_name} ({col_names})
    VALUES (%s, %s, %s)
    """.format(table_name="my_table", col_names=','.join(map(str, column_names)))
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Pandas 数据框插入 Cassandra 表 的相关文章

随机推荐

  • PHP 中的递归生成器

    介绍 自 PHP 5 5 版本以来 出现了以下很棒的功能发电机 http php net manual en language generators overview php 我不会重复官方手册页 但它们对于迭代器的简短定义来说是很棒的事情
  • Facebook 链接将在应用程序而不是浏览器中打开[重复]

    这个问题在这里已经有答案了 可能的重复 从其他应用程序启动 Facebook 应用程序 https stackoverflow com questions 4191492 launch facebook app from other app
  • 动态编辑 Tensorflow 对象检测的管道配置

    我正在使用tensorflow对象检测API 并且我希望能够在python中动态编辑配置文件 如下所示 我想过在 python 中使用协议缓冲区库 但我不知道如何去做 model ssd num classes 1 image resize
  • “支持的最低 Gradle 版本是 2.14.1。当前版本是 2.10。”错误[重复]

    这个问题在这里已经有答案了 我正在尝试升级我的 Android 应用程序 但收到以下错误 支持的最低 Gradle 版本为 2 14 1 当前版本是2 10 如果使用 gradle 包装器 请尝试将 C Users MyUser Deskt
  • 如何使用 Translate Toolkit 将 .po 转换为 PHP 数组(Zend Framework)?

    我正在尝试使用po2php http docs translatehouse org projects translate toolkit en latest commands php2po html将我的 po 文件转换为 Zend ph
  • Docusign:使用 REST API 和预填充标签通过模板创建信封

    我正在集成 Docusign 以便收件人可以看到他们的信封嵌入在我的网站上 我首先使用 api 创建信封 然后尝试使用动态数据预填充数据字段 据我所知 我用来创建信封的 json 没有任何问题 StackOverflow 上针对此问题的其他
  • 有没有办法将 QWidget 添加到 QtCreator 中的 QMenu

    我正在创建一个文本编辑器 我想把QComboBox in the QMenu 我在里面没有找到任何方法QMenu处理过这样的事情 最接近的是QMenu addAction 我想知道如何绕过这个障碍 Thanks 你必须子类化QWidgetA
  • 高斯模糊和卷积核

    我不明白什么是卷积核以及如何将卷积矩阵应用于图像中的像素 我说的是对图像进行高斯模糊操作 我还可以获得有关如何为高斯模糊操作创建内核的解释吗 我在读本文 http en wikipedia org wiki Gaussian blur但我似
  • 点击视口底部时阻止 Mobile Safari 显示工具栏

    我们有一个简单的移动应用程序在 iOS 上的 Mobile Safari MS 中运行 当用户向下滚动页面时n像素 一个 顶部 按钮从底部向上滑动 顶部按钮是固定位置 问题是 当您开始在 MS 中滚动时 导航和工具栏 UI 会被隐藏 当您点
  • 无法使用 servlet 和 jsp 更新表中的特定记录

    大家好 我为用户创建了一个 jsp 页面 他们可以在其中更新其现有详细信息 并且提交时记录会在数据库中更新 1 gt 帐户详细信息 java Java Servlet program responsible for obtaining th
  • Github:带有拉取请求的分叉

    我正在研究这段代码 https github com samvermette SVPullToRefresh https github com samvermette SVPullToRefresh 这有许多拉取请求待处理 但由于某种原因
  • 模拟子进程.Popen

    我有一个模块 utils py 它有这个 run cmd 方法 def run cmd cmd pipe subprocess Popen cmd shell True stdout subprocess PIPE stderr subpr
  • Linq 不同 - 计数

    我希望对示例对象列表执行查询 Date Username 01 01 2011 james 01 01 2011 jamie 01 01 2011 alex 01 01 2011 james 02 01 2011 matt 02 01 20
  • Friendly_id使用belongs_to关联中的值

    我有以下型号 class User lt ActiveRecord Base extend FriendlyId friendly id first name use gt slugged has one professor after c
  • C# 线程安全快速计数器

    在 C 中获得具有最佳性能的线程安全计数器的方法是什么 这很简单 public static long GetNextValue long result lock LOCK result COUNTER return result 但还有更
  • iOS14.2中的SwiftUI PageTabView会多次调用ChildView的onAppear方法

    我使用 TabView PageTabViewStyle 和 SwiftUI 来显示页面视图 当我滑动这个 TabView 时 我发现子视图会多次调用 onAppear 方法 有人可以告诉我为什么吗 这是我的代码 import SwiftU
  • 基于 C 有符号整数的攻击

    我正在读书这个问题 https stackoverflow com questions 21217126 memcpy implementation strict aliasing以及提到的评论之一基于 C 有符号整数的攻击 我知道什么是i
  • 如何在 std::set 中选择随机元素?

    如何在数组中选择一个随机元素std set 我天真地尝试过这个 int GetSample const std set
  • FFMPEG 到 YouTube 直播

    我有一个音频流 我使用 ffmpeg 将其流式传输到 youtube live 并使用以下命令将图像作为背景 ffmpeg loop 1 i x jpg i http xxx xxx xxx xxxx 5305 stream c a aac
  • 将 Pandas 数据框插入 Cassandra 表

    来自文档 https datastax github io python driver getting started html 有一种方法可以将数据插入表中 session execute INSERT INTO users name c