CSVを取り扱う
csvの読み込み
アイデミーの講座で、csvライブラリやPandasを使ってcsvファイルを読み込むことを学びました。
read_csv("ファイルパス", header= )
headerとは一行目に割り当てるもので、header = None とすると、Pandasが自動で適当な場所に列名を割り当てる。
header =1 と行番号を指定すると、ファイルの2行目に列名が割り当てられ、元あったデータの1行目と1行目が削除される。
Python3のcsvライブラリを利用したCSV作成と保存
Python3に搭載されているcsvライブラリを利用して、作成と保存ができる。
一連の流れは以下。
import csv
#name.csvを変数csvfileとして開く("w”は書き込みモード)
with open("/保存先のファイルパス/name.csv", "w") as csvfile:
#変数csvfileに、ラインターミネーションを(\n)として書き込み、設定情報として変数writerに書き込む。
writer = csv.writer(csvfile, linetermination="\n")
#writerに上の行から書き込む。
writer.writerow(["A", "B", "C"])
writer.writerow(["a", 2, "c"])
writer.writerow(["AA", "BB", "c3"])
#これで出力されて、保存される。
#変数csvfileとして読み込みモード("r")でname.csvを開いて出力
with open("/保存先のファイルパス/name.csv", "r") as csvfile:
print(csvfile.read())
Pandasを用いたcsvファイルの生成と保存
Pandasを用いてもcsvファイルが作成でき、csvライブラリで作成するよりも便利とのこと。
to_csv ("保存先のファイルパス/ファイル名")
ということで、プログラム一例を書いてみた。
import pandas ad pd
statistic = {"manifacture":["Apple", "Samsung", "Sony", "Nokia"],
"Amount":[200, 150, 50, 80]}
#PandasDataFrame形式のデータへ変換
df = pd.DataFrame(statistic)
#name.csvという名前でcsvファイルに出力
df.to_csv("/保存先のファイルパス/name.csv")
DataFrameと組み合わせて活用
pandasでの取り扱いとなるので、pandas DataFrameを使いこなすと柔軟に対応できる。
エクササイズでは以下の物を利用
①DataframeA に DatafremeBを追加
A = A.append(B)
②DataFrameAをソートする
A = A.sort_values(by="ソート基準となる列の名前")
③DataFrameAの行番号を振り直す
A = A.reset_index(drop=True)
④ ① ~ ③のあわせ技
A = A.append(B).sort_values(by="ソート基準となる列の名前").reset_index(drop=True)
- 1
- 2