2016-05-10 4 views
1

私は比較的新しいPythonで、いくつかの問題を抱えています。 私はpyodbyを使ってSQL Serverのストアドプロシージャを実行しています。 結果は期待どおりの整数ではなく、かっこ内の行数に戻ります。 IE:(322、) 値を取り除こうとすると、エラーが発生します。私は間違ったデータ型を持っていると思いますか?おかげで助けをDB戻り値から文字を取り除くことができません

はTypeError:期待される文字列または

import pyodbc 
import re 
import numpy as np 
sqlquery = "exec MyDB.dbo.spRowCounts" 
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=1.2.3.4\SQLEXPRESS;DATABASE=MyDB;UID=MYUSER;PWD=MYPASSWORD') 
cursor = cnxn.cursor() 
rows = cursor.execute(sqlquery) 

print rows; 
for row in rows: 
    print row 
    queuerow = row 
    print queuerow 
    rowd = re.sub(r'\D', "", queuerow) 
    print rowd 

答えて

0

をバッファqueuerowが「(322)」の場合、印刷時には、それはタプルだ意味し、これは明らかに正規表現はそれを変更することはできません、あなたは単にqueuerow [0]を作るだけです。 TypeErrorがあるときは、組み込みの型()を使うだけです。

+0

完璧に機能しました!ありがとう。私はこれらのデータ型に慣れなければなりません。 (Perlから来ている) – CareFree

関連する問題