スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに


Python で作成した CSV ファイルを Excel で開くと文字化けしてしまいました。そこで、対応方法を考えました。

CSVとは

CSV とは Comma Separated Values の略です。日本では、 しーえすぶい と読みます。CSV は、データをカンマで区切って、格納します。

foo, bar
hoge, meta


といった形で保存されます。ただのテキストファイルなので、エディタなどで編集することも可能です。 Excel からファイルタイプを指定して保存されば、Excel で CSV ファイルを作成することもできます。

結論

  • SJIS でファイルを作成する
  • 方言をExcelに設定する

経緯


Python で CSV ファイルを作成したところ、Excel で開くと、文字化けを起こしていました。CSVファイルは、vim などのエディタで開くと、文字化けを起こすわけではありません。ファイルは、UTF-8 でした。

UTF-8 がダメなら、UTF-16 にしてみようと思い、CSV ファイルを UTF-16 で作成するようにしました。Excel では、文字化けはなおりましたが、本来、複数のセルに分かれるはずのデータが、1つのセルにまとまって表示されるようになってしまいました。

UTF-16 がダメなら SJIS にすればよいと考えました。

いろいろ試した結果、方言をExcelにして、文字コードを SJIS にすると、文字化けせずに表示されるようになりました。

#!/usr/bin/python
import csv
f = open("file.csv", "w", encoding="SJIS")
w = csv.writer(f, dialect="excel")
w.writerow(["foo", "日本"])
w.writerow(["bar", "米国"])
f.close()

Pythonの本を探す


  • Python をアマゾンで探す
  • Python を楽天で探す
  • Python をヤフーショッピングで探す


スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー