【Python】CSV への出力時に文字コードを変換する方法は?

Python
スポンサーリンク

Python で CSV への出力時に、文字コードを変換したいと思うことはないだろうか。

文字コードとは、コンピュータが文字を数字で表現し、保存や表示するためのルールのこと。

Python で処理したデータ結果を、文字コードを指定して CSV に出力したい場合、to_csv 関数の引数 encoding を使うと便利だ

今回は、Python で、CSV への出力時に文字コードを変換する方法を紹介したい。

Python で、CSV への出力時に文字コードを変換する方法

Python で、CSV への出力時に文字コードを変換するには、to_csv 関数の引数 encoding を使用する。

to_csv 関数の形式

to_csv 関数の形式は、以下のとおり。

・データフレーム.to_csv(‘ファイルパス’, index=True, encoding = ‘文字コード’)

実際の操作方法は?

Jupyterlab の起動後、ノートブックを開いたあとの入力方法は、以下のとおり。

import pandas as pd」、「path = ‘C:\\test_2\\test2.xlsx’」、「data = pd.read_excel(path)」で、test2.xlsx ファイルの内容を変数 data に格納し、
「data2 = pd.pivot_table(data, index=’担当’, columns=’商品名’, values=’売上金額’, aggfunc=’sum’)」でピボット表示した xlsx ファイルの内容を変数 data2に格納する。

上記のソースコードに加えて、以下のソースコードを追加し、「Shift」+「Enter」を押す。

data2.to_csv(‘C:\\test_2\\out.csv’, index=True, encoding=’ansi’)

import pandas as pd
path = 'C:\\test_2\\test2.xlsx' 
data = pd.read_excel(path)
pd.pivot_table(data, index='担当', columns='商品名', values='売上金額', aggfunc='sum')
data2 = pd.pivot_table(data, index='担当', columns='商品名', values='売上金額', aggfunc='sum')
data2.to_csv('C:\\test_2\\out.csv',index=True,encoding='ansi')

プログラムが実行された。

 

各行のコードの意味は以下のとおり。

コード コードの意味
import pandas as pd pandas ライブラリをインポートする。
path = ‘C:\\test_2\\test2.xlsx’ 変数 path にファイルのフルパスを格納する。
data = pd.read_csvl(path) ファイルの内容を読み込み、変数 data に格納する。
pd.pivot_table(data, index=’担当’, columns=’商品名’, values=’売上金額’, aggfunc=’sum’) 変数 data の内容を、担当ごとの商品名と売上金額(合計) を表示する。
data2 = pd.pivot_table(data, index=’担当’, columns=’商品名’, values=’売上金額’, aggfunc=’sum’) 変数 data のピボット表示を変数 data2 に格納する。
data2.to_csv(‘C:\\test_2\\out.csv’,index=True,encoding=’ansi’) to_csv 関数を使用して、変数 data2 に格納されているデータを、文字コード ANSI で out.csv に出力する。

 

フォルダーパスの「C:\\test_2\\」に「out.csv」が出力された。

 

CSV ファイルをダブルクリックして開いてみると、「test2.xlsx」のピボット表示されたデータ内容が出力されており、文字化けせずに、ファイルを開くことができた。

 

文字コードの種類

文字コードの指定で、「ANSI」も含めて覚えておくと便利な文字コードは、以下のとおり。

文字コードの種類    指定方法
—————————————————————————————
ANSI
:               encoding=’ansi’
主にWindows環境での西ヨーロッパ言語や特定の日本語設定に対応。特定のアプリケーションでの互換性を保つために使用されることが多い。
UTF-8:               encoding=‘utf-8’
ほぼすべての言語をカバーし、多言語対応が必要な場合に最適。ウェブやグローバルな用途での標準。
ASCII:               encoding=‘ascii’
英語のみのシンプルなテキストデータに最適。最も基本的で軽量。
Shift_JIS:          encoding=‘shift_jis’
日本語データを扱う場合に便利。特にWindows環境で一般的。

 

 

 

>>Pythonで、データ結果のエクセル出力方法を知りたい方はコチラ

【Python】処理したデータ結果をエクセルに出力する方法は?
Pythonを使用して処理したデータの結果をエクセルに出力する方法をお伝えします。to_excel関数を活用して、データを簡単かつ効果的にエクセルに保存しましょう。

 

>>Pythonで、エクセルデータのグラフ作成方法を知りたい方はコチラ

【Python の基本】Python で Excel データのグラフを作成するには?
Python で、Excel データのグラフを作成したいと思うことはないだろうか。 今回は、Python で Excel データをグラフを作成する方法を紹介したい。 Python で Excel データのグラフを作成する方法 Python ...

 

>>Pythonで、エクセルデータの集計方法を知りたい方はコチラ

【Python の基本】Excel データを集計するには? sum 関数の紹介!
Python で、Excel データを集計したいと思うことはないだろうか。 Excel データを集計したい場合、sum 関数を使うと便利だ。 今回は、Python で Excel データを集計する方法を紹介したい。 Python で Exc...

 

コメント

タイトルとURLをコピーしました