Tarik data CSV dari URL ke Google Spreadsheet

12

Saya memiliki situs yang memungkinkan pengguna terotentikasi (baca: pengguna internal) untuk mengunduh data tertentu dari situs dalam format CSV, misalnya http://example.com/activities.csv . Bisakah saya membuat Google Spreadsheet yang menarik datanya langsung dari URL itu?

(Idenya adalah saya kemudian dapat membagikan spreadsheet itu dengan mereka - kami berada di domain Apps yang sama - dan lewati langkah mengunduh dan mengimpor file CSV setiap kali kami ingin memperbarui spreadsheet.)

Saya telah melihat melalui menu dan bantuan Spreadsheet dan belum menemukan pijakan pada ini; Saya bertanya-tanya apakah itu tidak mungkin atau hanya mencari hal-hal yang salah.

pjmorse
sumber
Mengapa Anda tidak bisa hanya menyimpan data ini dalam Google Spreadsheet dan kemudian membagikannya, melewatkan CSV sekaligus? Saya kira pertanyaan saya adalah mengapa tidak menggunakan lembar Google untuk menarik data alih-alih dibuang ke CSV.
OnenOnlyWalter
Data yang dimaksud adalah pertanyaan inventaris tentang penggunaan situs web, misalnya daftar objek yang dibuat pengguna di situs untuk administrator, semacam laporan aktivitas di situs itu sendiri. Jika ada cara untuk menarik data ini secara langsung ke dalam spreadsheet Google tanpa harus di CSV, saya ingin mendengarnya.
pjmorse
Apakah Anda menyarankan menggunakan sesuatu seperti github.com/tricycle/gdata_spreadsheet untuk mendorong data langsung ke spreadsheet?
pjmorse
Tepatnya, menggunakan perpustakaan gdata, Anda dapat mengimpor data dan menulis langsung ke Spreadsheet, namun saya bukan ahli di bidang itu, tetapi saya pikir saya akan bertanya apakah ada alasan Anda menghindari info gdata.
OnenOnlyWalter
Saya tidak menghindarinya, saya hanya merasa lebih mudah (sejauh ini) untuk mengekspor CSV karena saya belum terbiasa dengan pustaka gdata (belum). (Jangan mulai saya di perpustakaan CSV saya berakhir dengan ...) Saya akan melihat ke plugin gdata dan melihat di mana itu mendarat saya.
pjmorse

Jawaban:

21

Letakkan rumus ini di sel pertama spreadsheet google Anda:

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

Dan itu akan secara otomatis mengisi sisa spreadsheet saat ini dengan sebanyak mungkin kolom dan baris yang diperlukan hingga semua data dari csv sumber asli ditampilkan.

Ada banyak cara ampuh lainnya untuk memberi makan Google Spreadsheets dari semua jenis sumber eksternal. Lihat artikel ini untuk beberapa demonstrasi.

Zach Harkey
sumber
tetapi file tersebut mencetak beberapa data aneh, bagaimana cara menghindarinya?
Tuan AJ
@atjoshi: sel dengan data yang diimpor masih merupakan hasil fungsi. pengeditan dapat menyebabkan penghapusan seluruh data. Lebih baik menyalin dan menempelkan nilai hanya setelah memuat, jika Anda perlu mengedit / mencetak data.
Mindwin
@atjoshi "Bagaimana cara menghindari mencetak data orang aneh" adalah pertanyaan baru dan berbeda, tetapi mungkin satu yang patut ditanyakan.
Amanda
Hebat, tapi masalahnya bukan pembaruan otomatis. importData juga tidak memungkinkan Anda untuk merujuk fungsi SEKARANG () - yang saya coba taruh ke parameter GET untuk selalu memiliki url baru
Fanky
0

Pembaruan untuk memperbaiki jawaban di atas untuk masalah yang berkaitan dengan sheet yang membaca csv dengan benar:

Letakkan rumus ini di sel pertama spreadsheet google Anda:

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

Dan itu akan secara otomatis mengisi sisa spreadsheet saat ini dengan sebanyak mungkin kolom dan baris yang diperlukan hingga semua data dari csv sumber asli ditampilkan. Ada banyak cara ampuh lainnya untuk memberi makan Google Spreadsheets dari semua jenis sumber eksternal. Lihat artikel ini untuk beberapa demonstrasi.

Jika Anda menggunakan .csv, Anda perlu memastikan csv dibaca sebagai tabel. Untuk penggunaan rumus importdata (), saya telah membaca .csv yang disimpan di Google Drive. Setelah memastikan .csv memiliki izin berbagi yang benar, tautan saya menggunakan tautan unduhan untuk .csv;

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

sebagai lawan dari tautan langsung ;

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

atau

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