首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python将csv加载到hana数据库

使用Python将csv加载到hana数据库
EN

Stack Overflow用户
提问于 2018-08-23 13:51:35
回答 2查看 1.1K关注 0票数 0

我使用pyhdb连接到Hana数据库,并使用pandas读取csv。当我试图在遍历dataframe之后逐行插入时,我会得到一个错误。如何将csv中的所有行插入HANA数据库?

代码:

代码语言:javascript
复制
import pyhdb
import csv
import pandas as pd

connection = pyhdb.connect(
    host="xxx.xx.xx.xx",
    port=26444,
    user="user",
    password="pass"
)
cursor = connection.cursor()

cols = ['VBELN','MATNR','PODREL','LFIMG']
df = pd.read_csv("D:\LIPS.csv",usecols=cols,dtype=str)

for index,row in df.iterrows():
    cursor.execute("INSERT INTO dbo.LIPS (VBELN, MATNR, LFIMG, PODREL ) VALUES (?,?,?,?)", 
                   row['VBELN'],row['MATNR'],row['LFIMG'],row['PODREL'])

TypeError: execute()从2到3个位置参数,但给出了6个

EN

回答 2

Stack Overflow用户

发布于 2019-04-22 15:47:32

请使用

代码语言:javascript
复制
(row['VBELN'],row['MATNR'],row['LFIMG'],row['PODREL'])

而不是

代码语言:javascript
复制
row['VBELN'],row['MATNR'],row['LFIMG'],row['PODREL']

它应该能解决你的问题。

票数 1
EN

Stack Overflow用户

发布于 2018-08-23 14:04:38

execute方法中的参数应以元组形式传递,而不是以逗号分隔。

我也不是专家,但我认为用%s标记参数比用%s标记更好

在接下来的步骤中,这可能是有用的:记住要对数据库所做的更改是cursor.commit()。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51987444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档