Python:pandasのDataFrameにデータを直接入力してCSVに書き出してみよう。
プログラム内にデータを読み込めたら、今度は書き出したい!
ということで、pandasのDataFrameのファイルへのデータの入力・出力を
まとめてみました。
下準備
pandasについての下準備は
rafu.hatenablog.jp ここの下準備 その1と同じです。
実際に書き出してみよう!
今回入力したいデータは
aaaさん:20歳
bbbさん:30歳
cccさん:40歳
というデータをDataFrameにいれてみたいと思います。
#まずpandasをimportする import pandas as pd #入力したいデータ(今回はヘッダーもここで入力します) data ={"name":["aaa","bbb","ccc"],"age":[20,30,40]} #ここでDataFrameに入力 df = pd.DataFrame(data) df.to_csv("out.csv")
dfに入力されたイメージ図
name | age | |
---|---|---|
0 | aaa | 20 |
1 | bbb | 30 |
2 | ccc | 40 |
out.csvファイルの中身
,name,age
0,aaa,20
1,bbb,30
2,ccc,40
プログラムの説明
data
ここに、実際入力したい値をいれます。
今回はヘッダーも直接入力しました。pd.DataFrame(data)
第1引数(今回だとdata)の2次元配列のデータが作成できます。
今回はヘッダーを初めに設定しましたが、
以下のように直接データや引数を設定することもできます。
df = pd.DataFrame(data = (["aaa",20],["bbb",30],["ccc",40]),columns = ["name","age"])
- df.to_csv("out.csv")
dfに入っているデータをout.csvという名前のファイルにそのまま出力します。
今回はファイル名しか記述していないので、
プログラムの実行しているカレントディレクトリにout.csvが作成されます。
また、区切り文字はデフォルトで[ , ]となっています。
変更したい場合は、以下のように設定することができます。
df.to_csv("out.csv",sep="¥")
out.csvファイルの中身
¥name¥age
0¥aaa¥20
1¥bbb¥30
2¥ccc¥40
ヘッダーやインデックスを消したい場合も以下のように設定すれば、
出力せずにCSVファイルを作ることが可能です。
df.to_csv("out.csv",index = False , header = False)
out.csvファイルの中身
aaa,20
bbb,30
ccc,40
<最終更新日:2021/08/11>
2021/08/11 投稿