Extraire les données CSV de l'URL vers la feuille de calcul Google

12

J'ai un site qui permet aux utilisateurs authentifiés (lire: utilisateurs internes) de télécharger certaines données du site au format CSV, par exemple http://example.com/activities.csv . Puis-je créer une feuille de calcul Google qui extrait ses données directement de cette URL?

(L'idée est que je pourrais ensuite partager cette feuille de calcul avec eux - nous sommes sur le même domaine Apps - et ignorer l'étape de téléchargement et d'importation d'un fichier CSV chaque fois que nous voulons mettre à jour la feuille de calcul.)

J'ai parcouru les menus et l'aide de Spreadsheet et je n'ai pas trouvé d'aperçu à ce sujet; Je me demande si ce n'est pas possible ou si je cherche juste les mauvaises choses.

pjmorse
la source
Pourquoi ne pouvez-vous pas simplement héberger ces données dans une feuille de calcul Google, puis partager la feuille avec eux, en ignorant complètement le CSV? Je suppose que ma question est pourquoi ne pas utiliser la feuille Google pour extraire les données au lieu de les déverser dans un CSV.
OnenOnlyWalter
Les données en question sont des questions d'inventaire sur l'utilisation du site Web, par exemple une liste d'objets créés par les utilisateurs sur le site pour les administrateurs, une sorte de rapport d'activité sur le site lui-même. S'il existe un moyen d'extraire ces données directement dans une feuille de calcul Google sans qu'elles soient en CSV, j'aimerais en entendre parler.
pjmorse
Suggérez-vous d'utiliser quelque chose comme github.com/tricycle/gdata_spreadsheet pour pousser les données directement vers la feuille de calcul?
pjmorse
Exactement, en utilisant la bibliothèque gdata, vous pouvez importer des données et écrire directement dans une feuille de calcul, je ne suis cependant pas un expert dans ce domaine, mais j'ai pensé demander s'il y avait une raison pour éviter les informations gdata.
OnenOnlyWalter
Je ne l'évite pas, j'ai trouvé plus facile (jusqu'à présent) d'exporter CSV parce que je ne connais pas (encore) les bibliothèques gdata. (Ne me lancez pas sur la bibliothèque CSV avec laquelle je me suis retrouvé ...) Je vais regarder le plugin gdata et voir où cela me mène.
pjmorse

Réponses:

21

Déposez cette formule dans la première cellule de votre feuille de calcul Google:

=importData("http://example.com/activities.csv")

Et il remplira automatiquement le reste de la feuille de calcul actuelle avec autant de colonnes et de lignes que nécessaire jusqu'à ce que toutes les données de la source csv d'origine soient affichées.

Il existe de nombreux autres moyens puissants pour alimenter des feuilles de calcul Google à partir de toutes sortes de sources externes. Consultez cet article pour quelques démonstrations.

Zach Harkey
la source
mais le fichier imprime des données wierdo, comment éviter cela?
Mr AJ
@atjoshi: les cellules avec les données importées sont toujours le résultat de la fonction. la modification pourrait entraîner la suppression de l'ensemble des données. Mieux vaut copier et coller des valeurs qu'après le chargement, si vous avez besoin de modifier / imprimer les données.
Mindwin
@atjoshi "Comment éviter d'imprimer des données bizarres" est une question nouvelle et différente, mais qui vaut probablement la peine d'être posée.
Amanda
Très bien, mais le problème est qu'il ne se met pas à jour automatiquement. importData ne vous permet pas non plus de référencer la fonction NOW () - que j'ai essayé de mettre au paramètre GET pour toujours avoir une nouvelle URL
Fanky
0

Mise à jour pour corriger la réponse ci-dessus pour un problème lié aux feuilles lisant correctement le csv:

Déposez cette formule dans la première cellule de votre feuille de calcul Google:

=importData("http://example.com/activities.csv")

Et il remplira automatiquement le reste de la feuille de calcul actuelle avec autant de colonnes et de lignes que nécessaire jusqu'à ce que toutes les données de la source csv d'origine soient affichées. Il existe de nombreux autres moyens puissants pour alimenter des feuilles de calcul Google à partir de toutes sortes de sources externes. Consultez cet article pour quelques démonstrations.

Si vous utilisez .csv, vous devez vous assurer que le csv est lu comme une table. Pour mon utilisation de la formule importdata (), j'ai lu un fichier .csv stocké dans Google Drive. Après m'être assuré que le .csv a les autorisations de partage correctes, je lie utiliser un lien de téléchargement pour le .csv;

https://docs.google.com/uc?export=download&id=...

par opposition au lien direct ;

https://drive.google.com/open?id=...

ou

https://drive.google.com/file/d/.../view?usp=sharing
Alasdair Duncan
la source