来自文档 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但我实际上只需要一个简单的插入操作。