質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

解決済

IMPORTXML関数でCSVを読み込む方法

_kari_
_kari_

総合スコア33

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

1回答

0グッド

0クリップ

450閲覧

投稿2022/10/10 10:20

編集2022/10/10 10:22

Googleのヘルプページによれば、GoogleスプレッドシートのIMPORTXML関数はXMLやHTMLだけでなくCSVも読み込めるそうです。
同様の記載が、スプレッドシート内の「数式のヘルプ」にもあります。
また、IMPORTXMLを紹介するウェブサイトをいろいろと見ても、CSVを含む構造化データからデータを抜き出せるという旨の記述がありました()。
そこで、具体的にどのようにしたらIMPORTXML関数でCSVからデータを取り出せるのか教えていただけますでしょうか。
どんなCSVファイルからどんなデータを取り出すかはとりあえず自由として、きちんと動作する記述例が知りたいです。
現在のところ、

=IMPORTXML("http://(略).csv",".")

のように入力してみているのですが、

エラー
インポートした XML コンテンツを解析できません。

の表示が出てしまいます。

IMPORTDATA関数を使えばCSVデータをインポートできる(他には、GASを使うとか)のは知っていますが、今回はそうではなくIMPORTXMLでCSVから特定の値をピンポイントで抜き出す方法が知りたいです。
あくまでも、ヘルプに書かれているIMPORTXML関数のCSV読み込み機能の使い方を知りたいのです。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

qnoir

2022/10/10 12:13 編集

削除

回答1

1

ベストアンサー

現時点で、IMPORTXML を使って csvの直リンクデータを直接取得できている例は見当たりません。
(公式ドキュメントの記述は別として、その例に示しているサイトは、公式ドキュメントにcsvと書かれているのを鵜呑みにしているだけで、実際に試していない可能性が高いです)

確かに公式ドキュメントには、 IMPORTXML を使って csv や tsv を読み込めるかのように書かれていますが、これは csv データへの直リンクではなく <pre>タグ等でHTML内にカンマ区切りテキストやタブ区切りテキストが記述されている場合を想定しているに過ぎないと考えられます。この場合、IMPORTXML の 引数XPathにはそのpreタグ等へのpathを指定することになるでしょう。
(グラフや表の元データとして、display: none で非表示に設定した<pre>タグを使って HTML内に csv を記述する例はあります)

csv ファイルへの直リンクがあらかじめわかっていて、その csvデータを直接取得したい場合は、IMPORTXML ではなく、素直にIMPORTDATA を使ってください。
https://support.google.com/docs/answer/3093335

具体的にどのようにしたらIMPORTXML関数でCSVからデータを取り出せるのか教えていただけますでしょうか。

きちんと動作する記述例が知りたいです。

<pre>タグ等でHTML内に直接カンマ区切りテキストが記述されている具体的なサイトを御自分で見つけて試してみて下さい。

投稿2022/10/10 11:18

編集2022/10/10 12:29
qnoir

総合スコア7761

KojiDoi👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。