Pythonで、リストをCSV形式に変換
実験等で作ったデータを人に渡すときに、データフォーマットの共通認識は重要です。なので、一般的によく知られているCSV形式でデータを保存することが多い。「CSV形式だから」の一言でデータを渡せるのは非常に楽です。
ということで、リスト(タプルを含む)をCSV形式の文字列に変換する関数を作りました。
# encoding=UTF-8 """ list -> CSV 変換 """ def tocsv(data, file=None, ine="UTF-8", oute="UTF-8"): vecS = []; for row in data: s = ""; if type(row) == type(list()) or type(row) == type(tuple()): for cel in row: s += unicode(str(cel)+",",ine,"ignore").encode(oute,"ignore"); else: s += unicode(str(row),ine,"ignore").encode(oute,"ignore"); s += "\n"; vecS.append(s[:]); if file != None: f = open(file, "w"); f.writelines(vecS); f.close(); return vecS;
日本語文字列に対応するために、エンコード設定も付けています。
例えば、入力がeuc_jpで出力がsjisなら、
tocsv(data, ine="euc_jp", oute="sjis")
と書いて実行してください。