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

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

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

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

3回答

3499閲覧

pandasでcsvを読み込むと文字化けしてしまう

Yoshi.OT

総合スコア2

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2022/02/18 22:50

前提・実現したいこと

pythonとjavascriptを使ってデスクトップアプリを作っています。
pythonでCSVから商品コードを読み取る部分を実装中に、文字化けが発生してしまいました。

発生している問題・エラーメッセージ

code name price 0 1 ��� 100 1 2 �Ȃ� 150 2 3 �݂��� 120 3 4 �o�i�i 200 4 5 ������ 1000

該当のソースコード

python

1import pandas as pd 2pd=df.read_csv(r"item.csv",encoding="shift-jis") 3print(pd)

試したこと

「pandas 文字化け」などと調べ、
encodingをcp932などに変更したのですが、改善しませんでした。

CSVファイル(GitHub)

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

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

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

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

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

guest

回答3

0

掲示されているコードは変数名を間違えていますが、実際には以下の様になっているのではないでしょうか。また、item.csv を clone して試してみましたが適切に表示されています。おそらく、データを表示する際のエンコーディングが Shift-JIS に設定されているのではないかと思われます。

python

1import pandas as pd 2 3df = pd.read_csv(r"item.csv",encoding="shift-jis") 4print(df) 5 6# 7 code name price 80 1 りんご 100 91 2 なし 150 102 3 みかん 120 113 4 バナナ 200 124 5 メロン 1000

投稿2022/02/18 23:56

melian

総合スコア21109

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

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

Yoshi.OT

2022/02/19 21:54

ご回答ありがとうございます! おっしゃる通り、転記する過程で、dfとpdを誤って入力してしまいました。 失礼いたしました。 コーディングし直したのですが、やはり表示されませんでした。。melian様の環境ではうまくいったとのことですので、実行環境がなにか影響しているのでしょうか。 ほかの方の回答を踏まえ、utf-8-sigでの試行やメモ帳で開いた時のスクショを補足させていただきます。ご確認賜りますと幸いです。
Yoshi.OT

2022/02/19 21:57

補足欄に追記を試みましたが、画像が添付できないようですので、GitHub上にアップロードさせていただきました。お手数をおかけしますが、ご確認をお願いいたします。
guest

0

python

1import pandas as pd 2df=pd.read_csv(r"item.csv",encoding="utf-8-sig")

これでどうでしょうか?

投稿2022/02/18 22:59

AN3000

総合スコア37

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

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

Yoshi.OT

2022/02/19 22:01

AN3000様 ご回答いただきましてありがとうございます。 utf-8-sigで試してみたところ、 エラーコードで 'utf-8' codec can't decode byte 0x82 in position 19 というエラーが返されてしまいました。。他の回答者様の回答を踏まえ、メモ帳で開いた際の挙動などをGitHubにアップロードさせていただきました。お時間があるときに、ご確認いただきますと幸いです。
guest

0

そのcsvファイルをメモ帳で開いてみよう。
右下に文字コードが表示されますが、それにはなんと出てるでしょうか

投稿2022/02/18 23:54

y_waiwai

総合スコア88163

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

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

Yoshi.OT

2022/02/19 22:03

y_waiwai様 いつもお世話になっております。ご回答ありがとうございます。 メモ帳で開いた結果、ANSIという文字が表示されていました。またメモ帳では正しく日本語出力されていました。 →「これはもしや!」と思い、VScode上で、encoding="ANSI"と入力して実行しましたが、変化はありませんでした。。スクショをGitHub上にアップしているのでご確認賜りますと幸いです。
y_waiwai

2022/02/20 00:20

ANSIってのはShiftJISですね なら提示のコードはあってるので、問題は表示側だということになりそうです 実行するコマンドプロンプトを、あらかじめUTF8にしてみてはどうでしょう
Yoshi.OT

2022/02/20 21:43

ご回答ありがとうございます! 表示側の問題だろうということですね。 実行する際に、UTF-8にしてみましたが、なかなか解消されず。。 →方法が見当はずれであったら申し訳ありません。VScode上のエンコード編集欄にて、pythonやcsvをshift-JISにしたりutf-8にしてみました。 →すべてShift-JISした場合 CSVの方は”shift-JIS”にすると、エディターの編集画面上では日本語で表示されました。しかし、pythonを実行した際のターミナルの出力画面では、やはり文字化けしています。 →すべてUTF-8にした場合 初期設定がUTF-8だったのか、CSVの編集画面でも文字化けしていました。ターミナルも同様です。 初歩的な質問で大変恐縮です。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問