私は次の(比較的単純な)問題に苦しんでいます。次のデータを返すMySQLdbでSELECTクエリを使用しています。
select * from extension_recording where filename = "20091030_135711-out.wav";
+----+--------------+------+-------------------------+----------+--------+--------------------+---------------------------+--------+-----------------+------+-------+
| id | extension_id | flow | filename | filesize | unread | cr_date | callerid | length | callid | info | party |
+----+--------------+------+-------------------------+----------+--------+---------------------+---------------------------+--------+-----------------+------+-------+
| 1 | 41 | out | 20091030_135711-out.wav | 264684 | 1 | 2009-10-30 13:57:31 | Some user <01273123456> | 20 | 1256911031.5482 | | NULL |
+----+--------------+------+-------------------------+----------+--------+---------------------+---------------------------+--------+-----------------+------+-------+
私はそれを次のように使おうとしています:
cur.execute ("SELECT * FROM extension_recording WHERE filename = %s;", (file))
csv_result = cur.fetchone()
csv_list.append ([csv_result])
これにより、Pythonデータ型のリストが作成されます。
print csv_list
(1L, 41L, 'out', '20091030_135711-out.wav', 264684L, '1', datetime.datetime(2009, 10, 30, 13, 57, 31), 'Some user <01273123456>', 20L, '1256911031.5482', '', None)
データをMySQLデータ型としてCSVに出力する必要があるため、各フィールドを適切に変換する必要があります。つまり、idフィールドとextension_idフィールドをlongではなくintに変換し、日付を文字列に変換します。このすべてのポイントは、私が次のようなCSVファイルになってしまうことです。
1,41,'out','20091030_135711-out.wav',264684,'1','2009-10-30 13:57:31','Some user <01273123456>',20,'1256911031.5482','',None
csv_resultを反復処理する必要があるかもしれませんが、データ型ごとに異なる方法で反復処理する方法を一生見ることはできません。