質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

15205閲覧

PythonでExcelに書き込み 文字化け

KazuHo1402

総合スコア7

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2016/08/18 13:59

エンコードの問題で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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

encoding='CP932'、とすれば解決できるはずです。

投稿2019/10/15 10:43

john_doe_

総合スコア354

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ExcelはCSVファイルをShift_JISで開こうとするので、
Shift_JISで出力するようにすればExcelで文字化けしなくなります。

lang

1csvfile_1 = open("date.csv", "w",encoding="shift_jis")

投稿2016/08/18 14:22

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問