[英]Python : Inserting multiple values into a table from excel
我必須從Excel讀取數據並將其插入到表格中...
為此,我正在使用Python 2.7,pymssql和xlrd模塊...
我的sql連接工作正常,我也能夠從Excel正確讀取數據。
我的表結構:
CREATE TABLE MONTHLY_BUDGET
(
SEQUENCE INT IDENTITY,
TRANSACTION_DATE VARCHAR(100),
TRANSACTION_REMARKS VARCHAR(1000),
WITHDRAWL_AMOUNT VARCHAR(100),
DEPOSIT_AMOUNT VARCHAR(100),
BALANCE_AMOUNT VARCHAR(100)
)
我的excel值是這樣的:
02/01/2015 To RD Ac no 147825000874 7,000.00 - 36,575.74
在表格中插入多個值時出現問題...我不確定如何執行此操作...
import xlrd
import pymssql
file_location = 'C:/Users/praveen/Downloads/OpTransactionHistory03-01-2015.xls'
#Connecting SQL Server
conn = pymssql.connect (host='host',user='user',password='pwd',database='Practice')
cur = conn.cursor()
# Open Workbook
workbook = xlrd.open_workbook(file_location)
# Open Worksheet
sheet = workbook.sheet_by_index(0)
for rows in range(13,sheet.nrows):
for cols in range(sheet.ncols):
cur.execute(
" INSERT INTO MONTHLY_BUDGET VALUES (%s, %s, %s, %s, %s)", <--- Not sure!!!
[(sheet.cell_value(rows,cols))])
conn.commit()
錯誤:Value錯誤:'params'arg()只能是元組或字典。
這些文檔在這里: http : //pymssql.org/en/stable/pymssql_examples.html
您收到的例外情況是,“'params'arg()只能是一個元組或字典”,但是您要傳遞一個列表。 同樣,您的參數列表似乎是單個元組,而不是包含4個值的列表。 嘗試改變
cur.execute(
" INSERT INTO MONTHLY_BUDGET VALUES (?, ?, ?, ?, ?)", <--- Not sure!!!
[(sheet.cell_value(rows,cols))])
至
cur.execute(
" INSERT INTO MONTHLY_BUDGET VALUES (?, ?, ?, ?, ?)", <--- Not sure!!!
(sheet.cell_value(rows,cols)))
... 或者可能
cur.execute(
" INSERT INTO MONTHLY_BUDGET VALUES (?, ?, ?, ?, ?)", <--- Not sure!!!
((sheet.cell_value(rows,cols))))
注意:未經測試。 我一直在更改SQL中綁定變量的調用方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.