Python スプレッドシート1列を空欄含め最終行までリストで取得
- Python -
2023.07.17
結論、以下で可能です(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", "", "", "", "", "", ...省略, "", ""]
とこのように取得したかった。
シートオブジェクト.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"]