2016-10-20 16 views
2

私の最初のSO私は、私は私のGoogleスプレッドシート内のページにアクセスすることができgspread 0.4.0とPython 2.7を使用してグループ;-)gspread HTTPError:400 insert_rowを使用してOR add_row

を怒らないことを願っていますので、疑問データを読み取ることができ、update_cell()を使用してセルの内容を変更することができます。しかし、行を挿入するか、または両方の次のエラーで満たされているシートの最後に行を追加しようとします。

File "c:\Python27\lib\site-packages\gspread\models.py", line 525, in append_row 
self.add_rows(1) 
File "c:\Python27\lib\site-packages\gspread\models.py", line 507, in add_rows 
self.resize(rows=self.row_count + rows) 
File "c:\Python27\lib\site-packages\gspread\models.py", line 500, in resize 
self._element = self.client.put_feed(uri, ElementTree.tostring(feed)) 
File "c:\Python27\lib\site-packages\gspread\client.py", line 212, in put_feed 
r = self.session.put(url, data, headers=headers) 
File "c:\Python27\lib\site-packages\gspread\httpsession.py", line 85, in put 
return self.request('PUT', url, data=data, **kwargs) 
File "c:\Python27\lib\site-packages\gspread\httpsession.py", line 72, in request 
response.status_code, response.content)) 
spread.exceptions.HTTPError: 400: The reference to entity "format" must end with the ';' delimiter. 

私はこのエラーを参照しgspread GitHubのページで1本のヒットを発見し、そのユーザは明らかに持っていました彼が自分のシートから権限を削除したときに問題が解消されるのを見ました。私は私の許可を削除しましたが、エラーは解決しません。

私はデータを更新するのにHTTPに最も精通したユーザーではありません。私はこれがgspreadがここでやっていることだと思うので、私は困惑しています。ここには多くの """というものがあり、私の目には涙が出ます。

アドバイス/援助のために集団に感謝します!

+1

あなたのコードのサンプルを' update_cell() '呼び出しで投稿できますか? – Burnash

+0

こんにちはバナッシュ、その船は長い時間前に航海しました。なぜ私は今夜まであなたの要求の通知を受けなかったのか分からない。そうしないとすぐに答えただろう!しかし、私は最終的に、行501に渡されたアントラップされていないアンパサンドがあったmodels.pyの問題を追跡しました。ローカルファイルをこのように変更して動作させました。ハッキーだが働いている: 'self._element = self.client.put_feed(uri、ElementTree.tostring(feed).replace("&format "、" &フォーマット "))' – steve

+0

ニース。フィードの内容はGoogleのAPIから直接得られたものなので、このエスケープされていないアンパサンドが最初に何をしているのか不思議です。とにかく、あなたが解決策を見つけたことは良いことです。 StackOverflowであなた自身の質問に答えることができますか? – Burnash

答えて

1

私の場合、エスケープされていないアンパサンドがgspreadのmodels.resize()関数に渡されていることが判明しました。エスケープされていないアンパサンドをどのように解決するかわからないので、それを適切なエスケープ文字に置き換えて、私はレースに出ます。

self._element = self.client.put_feed(URI、ElementTree.tostring(フィード).replace(」& -

具体的に、私は(リサイズ()関数で)線500にmodels.pyを改変しました書式 "、" &形式 "))

関連する問題