実現したいこと
pandas.DataFrameのデータテーブルをスプレッドシートに書き込みたい
前提
- Webページからスクレイピングしたデータをスプシに書き出したいというのが発端
- ページ内のデータのうち、列名が書かれたところはいらないので(列名は自作するので)、画像の「いわし類」と書かれた行から取得したい
発生している問題
シートに書き出した時に、列番号まで一緒に書き出してしまいます。
Colab上でprint(df)
としたものが以下です。
一番左に行番号の列がありますが、これはシートには書き出されていないのがまた不思議です。
該当のソースコード
Python
1# Google認証 2from google.colab import auth 3auth.authenticate_user() 4import gspread 5from google.auth import default 6creds, _ = default() 7gc = gspread.authorize(creds) 8 9# スクレイピング 10import pandas as pd 11from gspread_dataframe import set_with_dataframe 12url = "https://www.market.jafic.or.jp/today.files/sheet001.htm" 13df = pd.read_html(url, skiprows=5)[0] # 先頭5行は不要なのでスキップ 14 15# 書き出し 16ss_id = "******************" 17ss = gc.open_by_key(ss_id) 18sheet = ss.get_worksheet(0) 19set_with_dataframe(sheet, df)
試したこと
DataFrameから「1行目を削除する」とすればいけそうな気がしていたので、drop()
やiloc()
でやってみたのですがうまくいかず...。
「行番号は削れてるが列番号はついてきてしまう」理由もぜひ知りたいので、詳しい方いらっしゃいましたら、勉強させていただきたいです。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー