Skip to content

Instantly share code, notes, and snippets.

@vigilantPotato
Created January 15, 2019 13:41
Show Gist options
  • Save vigilantPotato/1319421763b9c4b73446864e3dd0a43f to your computer and use it in GitHub Desktop.
Save vigilantPotato/1319421763b9c4b73446864e3dd0a43f to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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