2011-01-17 20 views
2

私はデータベースからデータを取得し、それをPython関数に渡すためにmysqlを使用しています。ときmysqlデータベースから来るデータを簡単に変更するには?

(1.12342)(3.123412)

(1.234234)

conn.query('SELECT info FROM bag') 
x = conn.store_result() 

for row in x.fetch_row(100): 
    print row 

が、私の問題は、私のデータは次のように出てくるということです:私はMySQLdbはをインポートし、データベースに接続し、このようなクエリを実行します。私は本当にこのように出てほしいです:1.23424、1.1341234、5.1342314(すなわちかっこなし)。私はそれをPython関数に与えるために、この方法が必要です。誰かが括弧を持たない方法でデータベースからデータを取得する方法を知っていますか?

+0

'' .join(リスト(行))? –

答えて

2

クエリに列が1つしかない場合でも、行はタプルとして返されます。最初の項目のみにアクセスすることができます。row[0]

forループ内で初めて、rowは実際に最初の行を参照します。 2回目は、2番目の行を指しています。

ところで、あなたはmySQLdbを使用していると言いますが、使用しているメソッドは、基礎となる_mysqlライブラリ(低レベル、ほとんど移植性がありません)からです...なぜですか?

+0

ねえ、それは動作します!ありがとう、しかし、私はそれを取得しない、私は行[0]だけ最初の行を返すと思った?少なくともそれが私にはどういうふうに見えますか、なぜそうではありませんか? – user365930

+0

@ user365930:私の編集した回答を参照してください。 –

0

あなたは、単にあなたのforループとしてこれを使用することができます。

for (info,) in x.fetch_row(100): 
    print info 
+1

... 'row'は現在かなり不適切な名前になっています –

関連する問題