データの中身を以下のようにしたい。が文字列連結ができなくて困っています。。
また、連結した場合に1行目の値しか出力されない。
csv
1yyyy-mm-dd,aaa,bbb,ccc,ddd,eee 2yyyy-mm-dd,aaa,bbb,ccc,ddd,eee 3 ・ 4 ・
python
1cur.execute("SELECT DISTINCT id FROM h") 2id_list = cur.fetchall() 3 4for id in id_list: 5 cur.execute("SELECT code FROM e WHERE id = %s",id) 6 info_list = cur.fetchall() 7 8 s = '' 9 10 datetime_now = datetime.datetime.now() 11 date_now = datetime_now.date() 12 13 for i in info_list: 14 # 文字列連結 15 # s += date_now.strftime('%Y-%m-%d') + ',' + ','.join(map(str,id + review_info)) + '\r\n' 16 s = date_now.strftime('%Y-%m-%d') + ',' + ','.join(map(str,id + review_info)) 17 s += s 18 19 cur.execute("INSERT INTO e( id, code) VALUES(%s, %s)", id + info) 20 print(cur.statusmessage) 21 conn.commit() 22 23 # ファイルオープン 24 f = open('output.csv', 'w') 25 writer = csv.writer(f, lineterminator='\n') 26 27 # データをリストに保持 28 csvlist = [] 29 csvlist.append(review_info_list) 30 31 # 出力 32 writer.writerow(csvlist) 33 34 # ファイルクローズ 35 f.close() 36 print(s)
7行目で、yyyy-mm-dd,aaa,bbb,ccc,ddd,eeeの形に変更して、+=としても連結しても、連結されずに単一のものが、print(s)で、yyyy-mm-dd,aaa,bbb,ccc,ddd,eeeが出力されます。
yyyy-mm-dd,aaa,bbb,ccc,ddd,eeeのなかに、decimal形式含んでいます。
参考の内容を試すと連結がされることを確認しています。。。
参考
【Python入門】list joinで文字列を連結する方法
すみませんがよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー