我正在处理一个用例,我在一个duckdb数据库表中创建了大量的记录,这些表可以在pandas Dataframe 中访问,进行数据操作并将它们发送回DB表。下面我将解释我的情况。
1.我在Duck DB中有一个名为MY_DB的DB,其中有一个表名为ROLL_table_a,在这里,它将被查询并转换为Pandas Dataframe _DF。
1.多个用户可以访问同一个表(ROLL_table_A),并对 Dataframe _DF进行所需的更新。
1.如何将 Dataframe _DF上传到同一个表ROLL_table_A?。
复制步骤:
# Connection and cursor creations
dbas_db_con = duckdb.connect('MY_DB.db')
# list of DB TABLE
dbas_db_con.execute("SHOW TABLES").df()
小时
# Query on DB Table
dbas_db_con.execute("SELECT *FROM ROLL_TABLE_A").df()
小时
# convert database table to pandas table
_df = dbas_db_con.execute("SELECT *FROM ROLL_TABLE_A").df()
在这里,_df id字段中填充了多个用户,更新Pandas Dataframe 后,该字段将为。
小时
这里是要在DuckDB中的ROLL_TABLE_A表中更新的更新 Dataframe 。
dbas_db_con.execute("SELECT *FROM ROLL_TABLE_A").df()
访问ROLL_TABLE_a时,它将生成如下输出
小时
1条答案
按热度按时间xdnvmnnf1#
下面是一个函数,它将 Dataframe 、表名和数据库路径作为输入,并将 Dataframe 写入表:
我花了一段时间才弄明白的部分是将df注册为数据库中的关系(例如表/视图)。注册不会将df写入数据库,但本质上是数据库中引用内存中df的指针。