Python スプレッドシート1列を空欄含め最終行までリストで取得

- Python -
2023.07.17
Python[パイソン]

結論、以下で可能です(gspreadでシート取得するところまでは省略)。

Pythonrow_count = sheet.row_count
column_d = [v.value for v in sheet.range(f'D1:D{row_count}')]

▼経緯

Pythonのgspreadモジュールで、以下のような空欄ばかりのD列を配列で

["Product ID", "", "", "", "", "", ...省略, "", ""]

とこのように取得したかった。

Python/gspread スプレッドシート1列を空欄含め最終行まで配列で取得

シートオブジェクト.row_countで最もデータ数がある列に合わせた行数が取れるので、それを使って.range( )で範囲を取得。

.range( )は2次元配列で返ってくるので、内包表記で1次元配列に変換しています。

ちなみに:

以下のように.get_values().col_values()使うと、列にデータがない場合は配列に格納されるのは1行目のみで、空欄セルが何も取れないので困っていました...

column_d = sheet.get_values(f'D1:D{row_count}')
↓結果
["Product ID"]

column_d = sheet.col_values(4)
↓結果
["Product ID"]

↑TOP