2016-10-17 11 views
1

でMySQLからCSVへのdict検索を書くことができ、私はこの方法でのmysqlのdb tabelからこのCSVを書く:どのようにpythonの

with open('outfile','w') as f: 
 
    writer = csv.writer(f) 
 
    for row in cursor.fetchall(): 
 
     writer.writerow(row)

これが出力されます。このCSV:

34,0.0,2016-04-07 14:51:16 
 
8,59.08,2016-04-07 16:55:26 
 
55,207.76,2016-04-08 06:24:42 
 
37,247.14,2016-04-08 07:50:02 
 
40,255.35,2016-04-08 07:58:51 
 
49,480.26,2016-04-08 08:11:31

そして、私はこのように、このルックアップ辞書を作成しました:

私は私の最初のCSVファイルを編集することができますどのように

{34: '1137', 8: '1125', 55: '1139', 37: '1140', 40: '1124', 40: '1138'}

machine_lookup = {} 
 
for row in rows: 
 
    machine_lookup[row['id']] = str(row['mr_machine_id'])

のようなこの辞書を見て作成者:

with open('outfile','w') as f: 
 
    writer = csv.writer(f) 
 
    for row in cursor.fetchall(): 
 
     writer.writerow(row)

このように見えるように出力するために、辞書検索のように私のcsvファイルを最初の行を挿入します

1137,0.0,2016-04-07 14:51:16 
 
1125,59.08,2016-04-07 16:55:26 
 
1139,207.76,2016-04-08 06:24:42 
 
1140,247.14,2016-04-08 07:50:02 
 
1124,255.35,2016-04-08 07:58:51 
 
1138,480.26,2016-04-08 08:11:31

答えて

0

を各行ので、リストです。インプレースで変更するか、置き換える値で新しいリストを作成することができます。 例:

row[0] = value 

コードでは、次のようにすることができます。私はINTとSTRを置き換える場合

with open('outfile','w') as f: 
writer = csv.writer(f) 
for row in cursor.fetchall(): 
    row[0] = str(row['mr_machine_id']) 
    writer.writerow(row) 
+0

タプルインデックスは、このライン行[0] = STR(行は[ 'mr_machine_id'])、エヴァンに対してstrない、整数でなければなりません。 – Rommel

+0

そのタイプのエラーが発生しました – Rommel