تبدیل داده های بدون ساختار به ساخت یافته با پایتون و API نقشه گوگل – راهنمای کامل
جمعآوری آدرسها از منابع گوناگون وب، اغلب منجر به ایجاد مجموعه دادههای ناسازگار میشود. ساختاردهی به این دادهها یکی از وظایفی به شمار میآید که هیچ کس واقعا تمایلی به انجام آن ندارد زیرا کاری عادی، خستهکننده و زمانبر است. چنین مسائلی معمولا با استفاده از کدنویسی قابل حل هستند. در این مطلب، چگونگی تبدیل دادههای بدون ساختار آدرسها با پایتون و API نقشه گوگل بررسی شده است.

مساله تبدیل دادههای بدون ساختار آدرس
فرض میشود که جدول دادهای با آدرسهایی شبیه آنچه در تصویر زیر آمده وجود دارد.

اما کاربر به جدولی مانند آنچه در تصویر زیر آمده نیاز دارد.

انجام این تبدیل کار عذابآوری به نظر میرسد! دلیل این امر وجود ناسازگاریها و مرزبندیهای نامناسب است که البته در مثال بالا تعداد کمی از آنها وجود دارد، ولی در مجموعه دادههای جهان واقعی تعداد آنها بسیار زیاد و قابل توجه محسوب میشود. افرادی که با نرمافزارهای صفحه گسترده مانند «اکسل» (Excel) آشنایی دارند، ممکن است راهی برای حل این مساله به صورت خودکار پیدا کنند، ولی این کار نیازمند تعداد زیادی عبارت if-else تودرتو است که نوشتن آنها زمان زیادی میبرد و توسط شخص دیگری نیز قابل خواندن نیست.
راهکار
راهنمای گام به گام
در ادامه، راهنمای گام به گام تبدیل دادههای بدون ساختار آدرس به دادههای ساختار یافته ارائه شده است.
۱. مخازن
۲. واکشی آدرسها از ستونهای CSV
یک تابع برای دریافت آدرسها از CSV و ذخیرهسازی آنها در یک آرایه ساخته میشود. تنها ورودیهای این تابع path و column هستند.
۳. مقداردهی اولیه
در گام بعدی، از تابع addresses_from_csv استفاده میشود. در این راستا، کلید API تنظیم و مقداردهی اولیه یک آرایه انجام میپذیرد که برای ذخیرهسازی آدرسهای تبدیل شده مورد استفاده قرار میگیرد.
۴. فراخوانی API
اجرای حلقه در آرایه addresses با هر آدرسی به عنوان یک کوئری در یک فراخوانی تنهای API آغاز میشود.
کتابخانه requests برای اجرای فراخوانیهای API مورد استفاده قرار میگیرد.
آنچه در ادامه آمده خروجی JSON کد بالا است.
۵. آدرسدهی عنصر صحیح در JSON/Dict
پس از آنکه فایل خروجی اکتشاف شد، میتوان عناصری که مورد نیاز است را تعیین و آنها را به آرایه تبدیل شده جدید در هر فرمتی که کاربر تمایل دارد افزود.
تنها کافی است به موارد مرزی مانند «دادههای ناموجود» (missing data) یا دادههای تگ شده به صورت ناسازگار دقت کرد. گاهی، city به عنوان locality و گاهی به عنوان postal_town ظاهر میشود.
۶. نوشتن نتایج نهایی در فایل CSV
در گام نهایی، از آرایه تبدیل شده استفاده و محتوای آن روی یک فایل CSV نوشته میشود.
ماموریت انجام شد!

اگر مطلب بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشود:
- گنجینه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- مجموعه آموزشهای هوش محاسباتی
- مجموعه آموزشهای شبکههای عصبی مصنوعی
- آموزش برنامهنویسی R و نرمافزار R Studio
- مجموعه آموزشهای برنامه نویسی متلب (MATLAB)
- معرفی منابع آموزش ویدئویی هوش مصنوعی به زبان فارسی و انگلیسی
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
^^
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید













