برنامه نویسی

نحوه استخراج داده ها از Klipfolio به CSV با استفاده از Bash

مقدمه

اگر تا به حال خواسته اید فرآیند استخراج داده ها را از یک جدول Klipfolio به صورت خودکار انجام دهید و آن را به عنوان یک فایل CSV ذخیره کنید ، به جای مناسب رسیده اید. این مقاله شما را از طریق مراحل مورد نیاز برای استفاده از اسکریپت Bash برای استخراج کلیه داده های مربوطه-مانند نام داور ، زمان مطابقت و اماکن-از یک جدول قرار ملاقات Klipfolio به یک پرونده CSV خوب ساختار هدایت می کند.

درک مشکل

کارهای استخراج داده ها اغلب می توانند دلهره آور باشند ، به ویژه هنگامی که منبع یک جدول تولید پویا مانند مواردی است که در Klipfolio یافت می شود. معمولاً ، اولین چالش به درستی شناسایی داده ها برای کشیدن است ، زیرا می توان آن را در اشیاء پیچیده JSON تعبیه کرد. اطلاعات مورد نیاز می تواند شامل ستون هایی برای تاریخ ، زمان ، رقابت ، تقسیم ، تیم میزبان ، تیم خارج از کشور ، محل و داوران متعدد از جمله نام آنها باشد.

نکته اصلی استفاده از ابزارهایی مانند curl برای واکشی صفحه وب و jq برای تجزیه داده های JSON به راحتی. بیایید گام به گام راه حل را طی کنیم.

راه حل گام به گام

مرحله 1: داده های Klipfolio را واگذار کنید

ابتدا باید داده ها را از URL انتصاب Klipfolio بازیابی کنید. این مرحله از آن استفاده می کند curl، که یک ابزار خط فرمان برای انتقال داده ها با URL است. در اینجا نحوه انجام آن آورده شده است:

#!/bin/bash
FileBase="${HOME}/tmp/RefAppts_tmp"
RefApptUrl="https://app.klipfolio.com/published/6b16ab677623c60708ba3ef462e6ad8e/football-victoria-referee-appointments"
curl ${RefApptUrl} -o $FileBase.1

این قطعه یک فایل موقت را در فهرست خانه کاربر ایجاد می کند تا داده های دریافت شده از URL ارائه شده را ذخیره کند.

مرحله 2: رشته داده ها را استخراج کنید

در مرحله بعد ، ما باید بخشی از پاسخ را که شامل داده های مربوطه است جدا کنیم. این مثال نحوه استفاده را نشان می دهد grep برای یافتن ردیفی که شامل رشته داده است:

cat $FileBase.1 | grep dashboardSchemaString | head -1 > $FileBase.2

مرحله 3: رشته داده ها را پردازش کنید

پس از جدا کردن رشته داده ، حرکت بعدی شما برای استخراج داده های واقعی موجود در ساختار JSON است. ما می توانیم از cut دستور استخراج آن:

cut -d'"' -f2 $FileBase.2 > $FileBase.3

مرحله 4: داده های JSON UNESCAPE

برای اطمینان از اینکه JSON به درستی قالب بندی شده است ، از شخصیت های رمزگذاری شده استفاده نمی شود:

echo -e $(cat $FileBase.3) > $FileBase.4

مرحله 5: از JQ برای تجزیه JSON استفاده کنید

در این مرحله ، می توانید استفاده را شروع کنید jq، یک پردازنده قدرتمند خط فرمان JSON. بیایید قطعات مفید را با شروع اجزای مورد نظر خود استخراج کنیم:

jq .[].klips[].components[].components $FileBase.4 > $FileBase.5

مرحله 6: زمینه های داده خاص را استخراج کنید

برای هر قطعه داده مورد نیاز ، اجرا کنید jq دستور فیلتر کردن آن بر این اساس. به عنوان مثال ، برای استخراج محل و زمینه های زمانی:

jq '.[] | select(.displayName=="FV Venue")' $FileBase.5 > $FileBase.6
jq '.[] | select(.displayName=="TIME")' $FileBase.5 > $FileBase.7

شما این فرآیند را برای هر ستون در خروجی مورد نظر خود ادامه خواهید داد.

مرحله 7: ترکیب و قالب بندی به عنوان CSV

سرانجام ، شما می خواهید تمام زمینه های مربوطه را در یک پرونده CSV واحد ترکیب کنید. با استفاده از paste یا ایجاد یک حلقه در اسکریپت شما به ساخت درست خروجی کمک می کند ،

paste -d',' $FileBase.6 $FileBase.7 ... > final_output.csv

لمس ها و ملاحظات نهایی

به یاد داشته باشید که اطمینان حاصل کنید که همه دستورات به طور مناسب خطاها را انجام می دهند ، به خصوص هنگام برخورد با داده های وب. اضافه کردن چک و تعادل باعث می شود اسکریپت شما قوی شود.

سوالات متداول (متداول)

آیا می توانم این روند را خودکار کنم؟

بله ، می توانید اسکریپت Bash خود را با استفاده از مشاغل Cron اجرا کنید تا استخراج داده ها را در فواصل منظم برنامه ریزی کنید.

اگر ساختار JSON تغییر کند چه می شود؟

اسکریپت خود را حفظ کرده و نمایش داده های JQ را در صورت لزوم به روز کنید تا با هرگونه تغییر در ساختار داده Klipfolio سازگار شوید.

آیا JQ به طور پیش فرض نصب شده است؟

JQ به طور پیش فرض در همه سیستم ها گنجانده نشده است ، اما می توان آن را به راحتی از طریق مدیران بسته بندی مانند APT یا Brew نصب کرد.

پایان

با دنبال کردن این مراحل ، می توانید به طور مؤثر استخراج داده های مهم را از یک جدول Klipfolio برای ایجاد یک فایل CSV مختصر ، در اختیار شما قرار دهید ، و نیازهای مختلف داده از جمله نام داور و جزئیات مطابقت را در خود جای دهید. استفاده از اسکریپت های Bash در کنار هم curl وت jq این فرآیند را یکپارچه می کند و پایه و اساس محکمی برای کارهای اتوماسیون بیشتر در گردش کار داده شما ایجاد می کند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا