Created
January 15, 2019 13:41
-
-
Save vigilantPotato/1319421763b9c4b73446864e3dd0a43f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Pandas CSVファイルの読み込み・保存 Python" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Pandasのインポート\n", | |
"pandasをpdとしてインポートする。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## CSVファイルの読み込み\n", | |
"\n", | |
"テスト用に以下の内容で```test.csv```を準備しておき、```pd.read_csv(filename)```でCSVファイルを読み込む。\n", | |
"\n", | |
"\n", | |
"test.csv\n", | |
"\n", | |
"```\n", | |
"A,B,C,D\n", | |
"A0,B0,C0,D0\n", | |
"A1,B1,C1,D1\n", | |
"A2,B2,C2,D2\n", | |
"A3,B3,C3,D3\n", | |
"A4,B4,C4,D4\n", | |
"A5,B5,C5,D5\n", | |
"```\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#csvファイルの読み込み\n", | |
"read_csv = pd.read_csv('test.csv')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"read_csvとそのタイプを出力する。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" A B C D\n", | |
"0 A0 B0 C0 D0\n", | |
"1 A1 B1 C1 D1\n", | |
"2 A2 B2 C2 D2\n", | |
"3 A3 B3 C3 D3\n", | |
"4 A4 B4 C4 D4\n", | |
"5 A5 B5 C5 D5\n", | |
"<class 'pandas.core.frame.DataFrame'>\n" | |
] | |
} | |
], | |
"source": [ | |
"#read_csvの出力\n", | |
"print(read_csv)\n", | |
"print(type(read_csv))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"CSVファイルの1行目が自動的にヘッダーになり、かつインデックスが自動で追加される。A0~D5がデータとして読み込まれる。 \n", | |
"read_csvはpandasのDataFrameオブジェクト。\n", | |
"\n", | |
"ヘッダーが不要な場合は、```read_csv```のheaderオプションを```None```に設定しておく。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#csvファイルの読み込み(ヘッダー無)\n", | |
"read_csv2 = pd.read_csv('test.csv', header=None)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" 0 1 2 3\n", | |
"0 A B C D\n", | |
"1 A0 B0 C0 D0\n", | |
"2 A1 B1 C1 D1\n", | |
"3 A2 B2 C2 D2\n", | |
"4 A3 B3 C3 D3\n", | |
"5 A4 B4 C4 D4\n", | |
"6 A5 B5 C5 D5\n", | |
"<class 'pandas.core.frame.DataFrame'>\n" | |
] | |
} | |
], | |
"source": [ | |
"#read_csv2の出力\n", | |
"print(read_csv2)\n", | |
"print(type(read_csv2))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"CSVファイルの1行目もデータとして読み込まれ、ヘッダーは自動で0~4が与えられた。" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## CSVファイルの保存\n", | |
"DataFrameをCSVファイルに書き出して保存するには、```to_csv(Filename)```メソッドを使用する。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"read_csv.to_csv('test_out.csv')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"test_out.csv\n", | |
"\n", | |
"```\n", | |
",A,B,C,D\n", | |
"0,A0,B0,C0,D0\n", | |
"1,A1,B1,C1,D1\n", | |
"2,A2,B2,C2,D2\n", | |
"3,A3,B3,C3,D3\n", | |
"4,A4,B4,C4,D4\n", | |
"5,A5,B5,C5,D5\n", | |
"```\n", | |
"\n", | |
"DataFrame作成時に追加されたインデックス列も保存される。\n", | |
"\n", | |
"インデックス列やヘッダー行を追加したくないときは、```to_csv```メソッドのindexオプションとheaderオプションをFalseにしておく。" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"read_csv.to_csv('test_out2.csv', index=False, header=False)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"test_out2.csv\n", | |
"\n", | |
"```\n", | |
"A0,B0,C0,D0\n", | |
"A1,B1,C1,D1\n", | |
"A2,B2,C2,D2\n", | |
"A3,B3,C3,D3\n", | |
"A4,B4,C4,D4\n", | |
"A5,B5,C5,D5\n", | |
"```\n", | |
"\n", | |
"インデックス列とヘッダー行を取り除いたデータだけがCSVファイルに保存される。" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment