MySQLにあるデータを抽出します。
MYSQLのデータをPythonによってCSVへ出力すると、
aaa,bbb,ccc,ddd,eee,-,-,- fff,ggg,hhh,-,-,-,-,- iii,-,-,-,-,-,-,-
となります。(データベースにはすべてTEXT型で上記のように保存しています。)
実際にこのようなデータがデータベースにはあるのですが、これをpythonで取得して、pythonからCSV出力する際に、ハイフンの部分を出力しないようにしたいです(ハイフンの列は右寄せではあるが、上記のようにハイフンの列数は不明)。
このときに
aaa,bbb,ccc,ddd,eee fff,ggg,hhh iii
と出力するにはどうすればいいでしょうか?
下のコードの
# ■ ■ ■ ■ ■
の部分で、別でリストを作ったりする必要が出てきてしまうのでしょうか?
Python
1import pymysql.cursors 2import csv 3 4#ここで取得しました(省略) 5 6#タプル→リスト 7result_list = [] 8tmp = [] 9for i in range(len(result_tuple)): 10 tmp = result_tuple[i] 11 result_list.append([tmp[0], tmp[1],tmp[2], tmp[3], tmp[4], tmp[5], tmp[6], tmp[7]]) 12 13sql_data = result_list 14 15#CSV出力 16with open(path_tmp + "/" + full_filename, "w") as csvfile: 17 writer = csv.writer(csvfile, lineterminator="\r\n") 18 for i in range(len(sql_data)): 19 if sql_data[i][0] == "10": 20 sql_data[i][1] = sql_data[i][1].replace("-", "/") # ■ ■ ■ ■ ■ 21 writer.writerow(sql_data[i]) 22
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。