1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

datatime型(timestamp型)をPythonでスプレッドシートに書き込んでも, 日付として認識されるようにした

Last updated at Posted at 2021-12-13

#問題点

  • Sheets APIを使ってPythonでスプレッドシートに書き込むとき, datetime型やtimestamp型はエラーを吐いて書き込めない.
  • datetime型とtimestamp型を文字列に変換して書き込んだら, スプレッドシート上で日付(ex. 2021/12/13)が文字列として認識されてしまう.

#解決策
以下において, 定義していない変数名は参考文献で使われた一般的なものであるとする.

まず, 以下のようにDataFrame内の日付データを文字列に変換する.

df['date'] = df['date'].dt.strftime("%Y/%m/%d")

そして, 書き込みメソッド(append_rowなど)で, 引数にvalue_input_option='USER_ENTERED'を指定する.

for row in df.values.tolist():
    wks.append_row(row, table_range='A1', value_input_option='USER_ENTERED')

#所感
jsonにDate型に相当する型がないから起きたエラーらしいですね.
英語のreferenceは堅苦しくてまだ読み解けないマンなので, stack overflowの自己解決ニキ(参考文献を参照)がいなければもうちょっともぞもぞして詰まっていたかもしれない.

#参考文献

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?