エンコードの問題でExcelに出力すると、文字化けしてしまいます。
リストheaderの内容と、フォーム入力で日本語入力のものを正しくExcelファイルに入力するにはどうすればよいでしょうか?
python
1import csv, cgi, cgitb, sys, codecs, pickle 2from datetime import datetime 3cgitb.enable() 4 5html=""" 6<html> 7 <head> 8 <meta "Content-type: text/html; charset=utf-8"> 9 <title> test_1</title> 10 </head> 11 <body style="font-family:'メイリオ',Meiryo;line-height:140%;"> 12 <form method ="POST" action="/cgi-bin/aaa.py"> 13 <p>所属部署: 14 <select name="syozoku"> 15 <option value="blank"></option> 16 <option value="管理本部">管理本部</option> 17 <option value="生産工事本部">生産工事本部</option> 18 <option value="技術開発本部">技術開発本部</option> 19 <option value="新潟事業本部">新潟事業本部</option> 20 </select> 21 </p> 22 <input type="submit" name="submit" value="送信" /> 23 </form> 24""" 25 26print(html) 27 28form = cgi.FieldStorage() 29 30#見出し行 31header = ['タイムスタンプ', '所属部署'] 32 33##CSVへの出力の内容 34today = datetime.now().strftime("%Y/%m/%d %H:%M:%S") 35busyo = form.getfirst('syozoku','0') 36 37filepath = "pickle.dump" 38posts = [] 39try: 40 f = open(filepath, "rb") 41 posts = pickle.load(f) 42except IOError: 43 pass 44else: 45 f.close() 46a = [today, busyo] 47posts.append(a) 48 49#CSVファイルに書き出す 50with open(filepath, "wb") as f: 51 pickle.dump(posts, f) 52 csvfile_1 = open("date.csv", "w",encoding="utf-8") 53 writer = csv.writer(csvfile_1) 54 writer.writerow(header) 55 for post in posts: 56 writer.writerow(post) 57 58print(""" </body> 59</html> 60""") 61
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。