CSVを読み込みたい(pandas.read_csv
)
1pd.read_csv("ファイル名")
pandas.read_csvでCSVファイルを読み込めます。
デフォルトの区切り文字は,
(カンマ)です。
複数のファイルを読み込んで、データフレームに変換する場合はpandas.concatを使います。
区切り文字を指定したい(sep
)
1pd.read_csv("ファイル名", sep="\t") # タブ区切り
2pd.read_csv("ファイル名", sep=" ") # スペース区切り
sep
(またはdelimiter
)オプションで区切り文字を指定して、任意の区切り文字のテキストファイルを読み込むことができます。
エンコーディングを指定したい(encoding
)
1pd.read_csv("ファイル名", encoding="shift_jis") # シフトJIS
2pd.read_csv("ファイル名", encoding="utf-16") # UTF-16
encoding
オプションを使ってPythonの標準的なエンコーディング名)を指定できます。
デフォルトはencoding="utf-8"
です。
utf-8
とutf_8
のように-(ハイフン)
と_(アンダースコア)
はエイリアスになっていて、どちらでも使えます。
読み込んだデータが文字化けしている場合はエンコーディングを指定する必要があります。
WindowsのExcelで作成されたCSVの場合、そのままでは文字化けすることが多く、だいたいシフトJIS(shift_jis
)を指定すると解決します。
日付に変換したい
1pd.read_csv("ファイル名", parse_dates=["公開日", "更新日"])
日付のカラムがある場合、parse_dates
を使って日付オブジェクトに変換できます。
1data = pd.read_csv("ファイル名")
2data["公開日"] = pd.to_datetime(data["公開日"])
3data["更新日"] = pd.to_datetime(data["更新日"])
データを読み込んだあとに、pandas.to_datetimeで変換できます。 日付カラムのフォーマットが独特な場合に、ISO8601などの一般的な形に文字列への変換が必要な場合に便利です。
1data["公開日"] = pd.to_datetime(data["公開日"]) # 日付オブジェクトに変換
2data["公開年"] = data["公開日"].dt.year # アクセサを使って「年」を取得
3data["公開年月"] = data["公開日"].dt.format("%Y-%m") # アクセサを使って任意の文字列に変換
日付オブジェクトはdtアクセサを使って日付に関する操作ができます。 dt.strftimeで任意の日付文字列に変換することもできます。
コメント行をスキップしたい
1pd.read_csv("ファイル名", comment="1文字") # コメント記号は1文字で指定
2pd.read_csv("ファイル名", comment="#") # '#'がコメント記号
comment
オプションを使って、データをスキップできます。
シェルスクリプトで解析することを前提にしていたデータの場合、読み込みたくない行の先頭に#
を書いたりします。
このようなデータもPandas
でそのまま再利用して分析できます。
コメント記号を指定して、その記号が先頭にある行をスキップできます。