Gọi phần còn lại api trong excel

Và bằng cách “hack vào”, ý tôi thực sự là sử dụng chức năng From Web Power Query của Excel để truy cập API

Các chính phủ có rất nhiều dữ liệu từ nông nghiệp đến năng lượng tái tạo và điều thú vị là bất kỳ ai cũng có thể truy cập dữ liệu đó và họ cung cấp tất cả miễn phí bằng API. Dữ liệu luôn là một nguồn tài nguyên quý giá cần có khi bạn cũng đang cố gắng học Excel, vì vậy, việc học cách khai thác dữ liệu của riêng bạn chắc chắn rất đáng giá

Video hướng dẫn

Nhận khóa API của bạn

API này yêu cầu Khóa API. Đây giống như một mật khẩu cho phép bạn sử dụng API

Chìa khóa là miễn phí, nhưng bạn phải đăng ký nó. Tới đây https. //api. dữ liệu. gov/signup/ và điền thông tin của bạn và nhấn nút Đăng ký

Sau khi đăng ký, bạn sẽ nhận được email khá sớm. Hãy lưu ý khóa API mà nó chứa vì chúng tôi sẽ sử dụng nó sau này để truy cập API

Có rất nhiều API khác nhau mà bạn có thể tự mình khám phá sau khi có chìa khóa và biết cách sử dụng nó. Bạn có thể tìm thấy tất cả chúng từ trang này tại đây https. //api. dữ liệu. chính phủ/

API trạm nhiên liệu thay thế

Trong bài đăng này, chúng ta sẽ khám phá API này https. // nhà phát triển. nrel. gov/docs/transportation/alt-fuel-stations-v1/nearest/ trả về danh sách trạm nhiên liệu thay thế gần nhất từ ​​một vị trí nhất định

https. // nhà phát triển. nrel. gov/api/alt-nhiên liệu-trạm/v1/gần nhất. json?api_key=XXXXXXXXX&location=Denver+CO

Hãy thử yêu cầu web mẫu của chúng tôi từ email bằng khóa API của chúng tôi. Sao chép URL này từ email và dán nó vào thanh địa chỉ của bất kỳ trình duyệt nào (Tôi đang sử dụng Chrome) sau đó nhấn enter

Lưu ý &location=Denver+CO ở cuối URL. Điều này có nghĩa là API sẽ trả về danh sách các trạm gần Denver Colorado. Trên thực tế, bạn có thể chuyển nhiều tham số khác cho API bằng cách thêm chúng vào URL theo cách tương tự. Tất cả các tham số có thể được ghi lại độc đáo trên trang web của chính phủ. Chúng tôi sẽ thử một số trong số này sau

Sau khi gửi URL yêu cầu này, nó sẽ trả về cả đống dữ liệu. Đầu ra có thể không đọc được cho bạn nếu bạn chưa từng thấy JSON trước đây

Đầu ra dữ liệu JSON

Đầu ra của API này ở định dạng JSON. JSON là viết tắt của JavaScript Object Notation và đó là một cú pháp để lưu trữ và trao đổi dữ liệu phân cấp

[
    {
        "Name": "Joe Smith",
        "Address": {
            "Street Number": 123,
            "Street Name": "Fake Street",
            "Post Code": "H0H 0H0"
        },
        "Email": {
            "Work": "[email protected],
            "Personal": "[email protected]"
        }
    }
]

Trên đây là một ví dụ đơn giản về đối tượng dữ liệu JSON cho thông tin liên hệ của một người. Đối tượng này thực sự là một mảng gồm 3 đối tượng (tên, địa chỉ và email). Bản thân các đối tượng địa chỉ và email cũng là các mảng đối tượng. Địa chỉ chứa tên đường, số và mã bưu điện và email chứa email công việc và cá nhân

Điều thú vị là Power Query có chức năng phân tích cú pháp JSON được tích hợp sẵn. Chúng ta có thể dễ dàng biến một thứ như thế này thành một bảng dễ đọc và quen thuộc hơn chỉ bằng vài cú nhấp chuột, vì vậy chúng ta sẽ không cần phải tự mình thử và giải mã kết quả đầu ra của API

Tạo URL API

Để giải trí, tôi sẽ thích một chút với một số thông số có sẵn trong API để tìm 5 trạm nhiên liệu điện hiện đang mở cửa cho công chúng và gần Toronto, Ontario nhất Canada. Đối với điều này, tôi sẽ sử dụng các tham số và giá trị sau

  • location=Toronto+ON Điều này có nghĩa là nhà ga nằm gần Toronto Ontario
  • status=E Điều này có nghĩa là trạm đang mở và mang theo nhiên liệu thay thế
  • access=public Điều này có nghĩa là trạm mở cửa cho công chúng
  • Fuel_type=ELEC Điều này có nghĩa là trạm cung cấp nhiên liệu điện
  • country=CA Điều này có nghĩa là nhà ga ở Canada
  • giới hạn=5 Tham số này sẽ giới hạn kết quả ở 5 giá trị gần nhất

https. // nhà phát triển. nrel. gov/api/alt-nhiên liệu-trạm/v1/gần nhất. json?api_key=XXXXXXXXX&location=Toronto+ON&status=E&access=public&fuel_type=ELEC&country=CA&limit=5

Kết hợp tất cả các tham số này vào định dạng URL yêu cầu API thích hợp dẫn đến URL ở trên. Bây giờ chúng tôi đã sẵn sàng để sử dụng điều này trong Excel

Gọi API từ Excel

Bây giờ, chúng ta đã thấy API được sử dụng từ trình duyệt và đã tạo một URL hấp dẫn hơn để gọi, hãy sử dụng truy vấn nguồn Từ Web để gọi nó trong Excel

Chuyển đến tab Dữ liệu trong dải băng và chọn Từ Web trong phần Nhận & Chuyển đổi Dữ liệu

Điều này cũng có thể được tìm thấy trong Lấy dữ liệu trong menu Từ nguồn khác

Chúng tôi chỉ cần sử dụng Truy vấn cơ bản để bạn có thể đưa URL của mình vào trường và nhấn nút OK. Chúng tôi có thể thực hiện các cài đặt mặc định trong cửa sổ bật lên tiếp theo, vì vậy chỉ cần nhấn nút Kết nối

Khi trình chỉnh sửa truy vấn mở ra, chúng ta có thể thấy rằng Excel đã nhận ra đầu ra là JSON và áp dụng JSON. Phân tích cú pháp tài liệu thành kết quả

Chúng tôi thấy dữ liệu meta từ kết quả của API, đây là dữ liệu về dữ liệu kết quả, chẳng hạn như tổng số bản ghi khớp với các tham số truy vấn của chúng tôi (mặc dù chúng tôi đã giới hạn kết quả ở 5 trong số này)

Lưu ý Fuel_station chứa Danh sách. Nhấp chuột trái vào danh sách này để mở rộng và hiển thị các mục trong danh sách

Khi bạn mở rộng danh sách, nó sẽ hiển thị 5 bản ghi vì chúng tôi đã giới hạn truy vấn ở 5 kết quả. Chúng tôi muốn biến danh sách các bản ghi này thành một bảng thích hợp. Nhấp chuột phải vào danh sách và chọn tùy chọn To Table từ menu. Bạn cũng có thể chọn To Table từ tab Transform của trình chỉnh sửa

Chọn Không có trong tùy chọn Chọn hoặc nhập dấu phân cách và nhấn nút OK

Bây giờ chúng tôi đã chuyển đổi đầu ra của mình thành một bảng, chúng tôi có thể mở rộng các bản ghi. Nhấp chuột trái vào chuyển đổi bộ lọc tiêu đề cột

Chọn các cột bạn muốn xuất hiện trong kết quả cuối cùng. Bạn cũng có thể bỏ chọn tùy chọn tiền tố tiêu đề cột nếu muốn. Sau đó nhấn nút OK

Thật tuyệt vời. Bây giờ chúng ta có dữ liệu từ API ở định dạng bảng quen thuộc. Chỉ cần Đóng & Tải truy vấn từ tab Trang chủ của trình chỉnh sửa và chúng ta đã sẵn sàng