\ PayPayポイント最大23.5%! /

【Python】Object of type int64 is not JSON serializableのエラー

PythonでWebサイト上のテーブルをスクレイピングしGoogleスプレッドシートに記入するプログラムを実行したところ、表題のエラー

Object of type int64 is not JSON serializable

が表示されました。

目次

エラーが生じた状況

SMBC日興証券の口座残高テーブルを一覧で取得→スプレッドシートに貼り付け

を行おうとしたところ、上記のエラーが出てしまいました。

他のテーブル(注文中、建玉一覧等)は出来ていたので口座残高テーブルの内容を精査する必要がありそうでした。

エラー原因

int64が含まれていたことが原因でした。

d.typesで列ごとの型を確認してみます。(indexのrenameやカラムのsplit処理を行なっているため、列名は元テーブルと異なっています)

print(df_kabushiki.dtypes)

銘柄コード    object
銘柄名      object
数量        int64

解決策

int64をobjectに変換

数量列がint64になっていたため、このままだとスプレッドシートに貼り付け出来ません。

astypeで変換しました。

df_kabushiki=df_kabushiki.astype(({"数量": object}))

dtypesで確認してみます。

print(df_kabushiki.dtypes)

銘柄コード    object
銘柄名      object
数量        object

と、int64型をobjectに変換すると無事スプレッドシートへ貼付まで終えることができました。

参考サイト

あわせて読みたい
Python, pandasでwebページの表(htmlのtable)をスクレイピング | note.nkmk.me pandasを使うと、webページの表(tableタグ)のスクレイピングが簡単にできる。DataFrameとして取得したあとで、もろもろの処理を行ったり、csvファイルとして保存したりす...
ハシカケ-実現したいことから学べ...
PythonでスクレイピングしてGoogleスプレッドシートに特定URLのタイトルと見出しを取得するプログラム 今回のPythonのプログラムは特定のURLを指定するとそのサイトをスクレイピングして、タイトルとHタグ(H1からH6タグ)をGoogleスプレッドシートに記録してくれるプログラムで...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次