簡體   English   中英

Python:從Excel向表中插入多個值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM