7

ImportXMLGoogleスプレッドシートでTwitterAPIのuser_timelineメソッドにアクセスするために使用しています。created_at応答からフィールドとtextフィールドを抽出し、結果の2列の表示を作成したいと思います。

現在、APIを2回呼び出すことでこれを行っています。

=ImportXML("http://twitter.com/status/user_timeline/matthewsim.xml?count=200","/statuses/status/created_at")

1つの列の上部のセルにあり、

=ImportXML("http://twitter.com/status/user_timeline/matthewsim.xml?count=200","/statuses/status/text")

別の。

1回の呼び出しでこのディスプレイを作成する方法はありますか?

4

5 に答える 5

9

ImportXML は、xpath|セパレーターを使用して、必要な数のクエリを含めることをサポートしています。

=ImportXML("http://url"; "//@author | //@catalogid| //@publisherid")

ただし、結果が複数の列に展開されることはありません。以下の column に示すように、繰り返しトリプレット (または選択した属性の数) の 1 つの列を取得しますA

以下は非推奨です

2015.06.16: continue「新しい Google スプレッドシート」では使用できません (参照: のGoogleドキュメントcontinue)。

CONTINUE()ただし、自動的に挿入された関数を使用して結果を配置する必要はありません。

=CONTINUE($A$2, (ROW()-ROW($A$2)+1)*$A$1-B$1, 1)

その中に配置B2すると、適切な列データが得られるようにきれいに埋められます。

スクリーンショットの例

  • ImportXML は にありA2ます。
  • A3以下は、CONTINUE()関数がどのように自動的に入力されるかです。
  • A1属性の数です。
  • B1:D1それらの列の属性インデックスです。
于 2013-08-27T19:44:09.007 に答える
7

=CONTINUE() の行を列に変換する別の方法は、transpose() を使用することです。

=transpose(importxml("http://url","//a | //b | //c"))
于 2013-11-03T15:20:25.033 に答える
5

クエリを「|」で連結するだけです

=ImportXML("http://twitter.com/status/user_timeline/matthewsim.xml?count=200","/statuses/status/created_at | /statuses/status/text")
于 2011-04-15T06:43:32.760 に答える
0

この質問を Google サポート フォーラムに提出しましたが、これは私にとって有効な解決策でした。

=ArrayFormula(QUERY(QUERY(IFERROR(IF({1,1,0},IF({1,0,0},INT((ROW(A:A)-1)/2),MOD(ROW(A:A)-1,2)),IMPORTXML("http://example.com","//td/a | //td/a/@href"))),"select min(Col3) where Col3 <> '' group by Col1 pivot Col2",0),"offset 1",0))

IMPORTXML の内容をデータとクエリに置き換えて、それが機能するかどうかを確認してください。私

明らかに、これは IMPORTXML 関数を 1 回だけ呼び出そうとします。少なくとも今のところは解決策です。

これが完全なスレッドです。

于 2016-08-22T16:28:46.533 に答える