pandasにはcsvの読み込みや出力の機能がありとても便利です。
そこで、今回は読み込みに使うread_csv関数と出力に使うto_csv関数の基本的な使い方をまとめていきたいと思います。
どちらの関数も似たような使い方なのですぐに理解できます。
csvを読み込む方法
- read_csv関数を使う
- 日本語が含まれるファイルの読み込みには
encoding
を使用
read_csv関数でよく使う引数
このほかにもたくさんの引数があります。
欠損や空白、日付の処理など様々なことができます。
以下の記事ではread_csv関数の全52個の引数をまとめています。
pandasでcsvをDataFrameとして読み込めるととっても便利ですよね。 ですが、ただ読み込むだけでなく、indexや読み込む行列を指定したり、欠損値を処理したりいろんなことができるとなお便利です。 そこで、この記事で[…]
以下のcsvファイルを使って開いてみます。
1 2 3 4 |
class,No,name,height A,1,山田,170.2 B,3,吉川,158.7 C,,佐藤,168.9 |
1 2 3 4 5 6 7 8 |
import pandas as pd df = pd.read_csv( 'https://www.self-study-blog.com/wp-content/uploads/2021/09/sample_csv1.csv', encoding='utf_8' ) display(df) |
ファイルパスを指定するだけでも開けますが、日本語が含まれる場合はencoding
を指定しないと文字化けの原因になります。
'utf_8'
、'shift_jis'
、'cp932'
のどれかで開けるはずです。
csvに出力する方法
- to_csv関数を使う
- 日本語を含むときは
encoding
を使用
to_csv関数でよく使く引数
出力のときは以下のように書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import pandas as pd #このDFを出力したい df = pd.DataFrame( {'name': ['Tom', '藤原', '石上', 'Ken', 'Bob', '四宮'], 'class': ['A', 'A', 'A', 'B', 'B', 'B'], 'height': [170, 162, 175, 180, 190, 160], 'weight': [75, 54, 60, 80, 80, 48], 'address': ['USA', '日本', '日本', 'USA', None, '日本']}, index=[1, 2, 3, 4, 5, 6]) #出力のためのコード df.to_csv('output_csv.csv', encoding='shift_jis') ##出力結果 ,name,class,height,weight,address 1,Tom,A,170,75,USA 2,藤原,A,162,54,日本 3,石上,A,175,60,日本 4,Ken,B,180,80,USA 5,Bob,B,190,80, 6,四宮,B,160,48,日本 |
出力したファイルの保存先は filepath_or_buffer
に指定できます。
ファイルパスやディレクトリを理解しておく必要があります。
それらは以下の記事に詳しくまとめています。
パソコンを使ったことがあるのなら一度は聞いたことがあるとは追うこれらの言葉「ファイル・フォルダ・ディレクトリ」の違いを説明していきたいと思います。 本棚に本がたくさん入っているようにフォルダ(ディレクトリ)の中にファイルが入っている[…]
今回は「ルートディレクトリ・カレントディレクトリ・ファイルパス」の説明をします。 もし、「ディレクトリ」という言葉が分からない場合は下の記事をご覧ください。 [sitecard subtitle=関連記事 url="https[…]
まとめ
今回はcsvファイルの読み込みと出力をまとめました。
特に読み込みのときは、様々な引数を使うことで欠損の処理や日付の処理などができます。詳しくは以下の記事でまとめています。
csvをDataFrameとして読み込むときに日付の処理ができると便利ですよね。 この記事では、Pythonのpandasでread_csv関数の日付に関する処理を紹介してきます。 ほかのread_csv関数の引数は以下の記事[…]
pandasでcsvをDataFrameとして読み込めるととっても便利ですよね。 ですが、ただ読み込むだけでなく、indexや読み込む行列を指定したり、欠損値を処理したりいろんなことができるとなお便利です。 そこで、この記事で[…]