شروحات الكمبيوتر والإنترنت والموبايل

تحويل بيانات CSV إلى JSON باستخدام PowerShell

تعد معالجة البيانات بين تنسيقات الملفات المختلفة من المهارات الأساسية التي يحتاجها الكثير من المحترفين في مجالات تكنولوجيا المعلومات. إحدى أكثر العمليات شيوعًا هي تحويل بيانات CSV إلى تنسيق JSON، خاصة عند استخدام أدوات مثل PowerShell. في هذا المقال، سوف نستعرض خطوة بخطوة كيفية نقل البيانات من ملف CSV إلى صيغة JSON باستخدام PowerShell، مع التركيز على كيفية استبدال عناوين البريد الإلكتروني بمعرفات المستخدمين.

فهم التنسيقات: CSV وJSON

قبل الغوص في التعليمات البرمجية، دعونا نبدأ بفهم كل من CSV وJSON.

  • CSV: هو اختصار ل"Comma-Separated Values"، وهو تنسيق نصي يستخدم لتخزين البيانات في شكل جدول. كل سطر يمثل سجلًا جديدًا، بينما تمثل القيم المفصولة بفواصل الأعمدة المختلفة.

  • JSON: هو اختصار ل"JavaScript Object Notation"، وهو تنسيق خفيف الوزن لتبادل البيانات. يُستخدم بشكل كبير في تطبيقات الويب، ويساعد في تنظيم البيانات في شكل هياكل منسقة تسهل قراءتها مع الإبقاء على البنية الهيكلية.

خطوات استخدام PowerShell لتحويل CSV إلى JSON

سنقوم بتوضيح الخطوات اللازمة لتحويل البيانات باستخدام PowerShell، مع التركيز على مثال محدد. افترض أن لديك ملف CSV يحتوي على عمودين:

  • معرف المستخدم: وهو معرف فريد لكل مستخدم.
  • البريد الإلكتروني: عنوان البريد الإلكتروني الخاص بالمستخدم.

إليك محتويات ملف CSV مثال:

User id,Email
1234-1234-1234,[email protected]
321-1235-44432,[email protected]
322136231345,[email protected]

ولديك ملف JSON يبدو كما يلي:

[{
    "externalId": "100000",
    "watchers": ["[email protected]", "[email protected]", "[email protected]"]
}, {
    "externalId": "100002",
    "watchers": ["[email protected]", "[email protected]"]
}]

هدفنا هنا هو استبدال عناوين البريد الإلكتروني في JSON بمعرفات المستخدمين من CSV.

الكود البرمجي لنقل البيانات

يمكنك استخدام PowerShell لتنفيذ هذا التحويل بفاعلية. إليك الكود الذي تحتاجه:

$usersCSV = Import-Csv 'users.csv'
$watchersJSON = Get-Content -Path "watchers.json" -raw | ConvertFrom-Json
foreach ($watchersJSONdata in $watchersJSON) {
    foreach ($usersCSVdata in $usersCSV) {
        if ($watchersJSONdata.watchers -contains $usersCSVdata.Email) {
            $watchersJSONdata.watchers[$watchersJSONdata.watchers.IndexOf($usersCSVdata.Email)] = $usersCSVdata.'User id'
        }
    }
}
$watchersJSON | ConvertTo-Json | Out-File 'watchers-with-ID.json'
في هذا الكود، نقوم أولاً بتحميل بيانات CSV باستخدام `Import-Csv`، ثم نقوم بتحميل بيانات JSON باستخدام `Get-Content` و`ConvertFrom-Json`. بعد ذلك، نستخدم حلقتين `foreach` للبحث عن عناوين البريد الإلكتروني في JSON واستبدالها بمعرفات المستخدم.

ملاحظات ختامية

بعد تنفيذ الكود أعلاه، ستحصل على ملف JSON جديد يحتوي على معرفات المستخدمين بدلاً من عناوين البريد الإلكتروني، مما يجعل البيانات أكثر تنظيمًا وسهولة في الاستخدام. تعد هذه الطريقة فعالة وتحقق نتائج مرغوبة باستخدام PowerShell.

في الختام، يعد استخدام PowerShell لتحويل البيانات بين تنسيقات مختلفة أداة قوية لأي محترف في تكنولوجيا المعلومات. يمكنك دائمًا تعديل هذا الكود ليتناسب مع احتياجات مشروعك الخاص، مما يجعله أداة مرنة وفعالة. أتمنى أن يكون هذا المقال قد أوضح لك كيفية استخدام PowerShell – How to put data from CSV to JSON بشكل فعّال.

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!