• บทความนี้ผู้เขียนพูดถึง API ที่ชอบที่สุดของตนเอง นั่นคือ zipfile บนเว็บไซต์ของธนาคารกลางยุโรป ซึ่ง zipfile นี้ให้ข้อมูลย้อนหลังว่าเงินยูโรอยู่ในตำแหน่งใดเมื่อเทียบกับสกุลเงินอื่น
  • ผู้เขียนแสดงวิธีใช้เครื่องมือต่าง ๆ เช่น curl, gunzip, sqlite3 และ pandas เพื่อดาวน์โหลด แตกไฟล์บีบอัด และคิวรีข้อมูลจาก zipfile
  • ข้อมูลที่ได้จาก zipfile อยู่ในรูปแบบ "wide" โดยมีคอลัมน์วันที่และคอลัมน์เพิ่มเติมสำหรับแต่ละสกุลเงิน ซึ่งไม่เหมาะนักสำหรับการกรองและการรวมผล
  • ผู้เขียนใช้ pandas เพื่อแปลงข้อมูลจากรูปแบบ "wide" เป็นรูปแบบ "long" หรือกระบวนการที่เรียกว่า "melting"
  • ผู้เขียนยังชี้ให้เห็นว่าข้อมูลมีปัญหาอยู่: มี trailing comma ที่ท้ายแต่ละบรรทัดซึ่งรบกวนกระบวนการ melting และแก้ไขได้ด้วยการเพิ่ม .iloc[:, :-1] เข้าไปใน method chain ของ pandas
  • ผู้เขียนยอมรับว่าการจัดการข้อมูลนี้ต้องมีงานด้าน "data preparation" แต่ก็มองว่าข้อมูลอัตราแลกเปลี่ยนของ ECB จัดการได้ค่อนข้างง่ายเมื่อเทียบกับการเผยแพร่ข้อมูลเปิดอื่น ๆ
  • จากนั้นผู้เขียนแสดงวิธีอัปโหลดข้อมูลที่จัดระเบียบแล้วไปยังตาราง csvbase และวิธีใช้ gnuplot เพื่อวาดกราฟจากข้อมูล
  • ผู้เขียนยังแนะนำเครื่องมือชื่อ DuckDB ซึ่งคล้ายกับ sqlite แต่เป็นแบบ columnar และแสดงวิธีใช้มันโหลด csv จาก HTTP เข้าไปเป็นไฟล์ตารางได้โดยตรง
  • ผู้เขียนชี้ว่าข้อมูลเปิดสามารถทำหน้าที่เป็น API แบบเปิดได้ และชื่นชมความเรียบง่ายของ zipfile ของ ECB ในฐานะรูปแบบการแลกเปลี่ยนข้อมูล
  • ผู้เขียนยังให้ประวัติโดยย่อของเงินยูโร และอธิบายว่าทำไมในช่วงเปิดตัวครั้งแรกในปี 2000 มันจึงอ่อนค่าเมื่อเทียบกับดอลลาร์

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น