پاورشل برای برنامه‌نویسان

پاورشل برای برنامه‌نویسان

@programming_tips

درسنامه: کار با JSON و CSV در PowerShell

داده‌های JSON و CSV فرمت‌های محبوب برای ذخیره و انتقال داده‌ها هستند و شما به راحتی می‌توانید با استفاده از PowerShell داده‌ها را بخوانید و بنویسید.

۱. کار با JSON

JSON یکی از فرمت‌های استاندارد برای تبادل داده‌ها است که معمولاً در وب‌سرویس‌ها، APIها و فایل‌های پیکربندی استفاده می‌شود. در PowerShell، دستورات خاصی برای تبدیل داده‌ها به فرمت JSON و بالعکس وجود دارد.

۱.۱ ConvertFrom-Json

دستور ConvertFrom-Json برای تبدیل داده‌های JSON به شیء PowerShell استفاده می‌شود. وقتی داده‌های JSON را به PowerShell وارد می‌کنید، آن‌ها تبدیل به اشیاء PowerShell می‌شوند که می‌توانید به راحتی به آن‌ها دسترسی داشته باشید.

مثال:

# فرض کنید فایل test.json این محتویات را دارد
# {
#   "name": "Ali",
#   "age": 27,
#   "isStudent": false
# }

$json = Get-Content C:\test.json | ConvertFrom-Json
$json.name  # نمایش نام
$json.age   # نمایش سن
$json.isStudent  # نمایش وضعیت دانشجویی

در این مثال، فایل JSON به یک شیء PowerShell تبدیل شده و می‌توانیم به هر کدام از ویژگی‌های آن دسترسی پیدا کنیم. داده‌های JSON به صورت اتوماتیک به شیء‌های PowerShell تبدیل می‌شوند که می‌توانید از آن‌ها استفاده کنید.

۱.۲ ConvertTo-Json

دستور ConvertTo-Json برای تبدیل شیء PowerShell به فرمت JSON استفاده می‌شود. به عبارت دیگر، می‌توانید هر شیء PowerShell را به JSON تبدیل کرده و آن را در فایل یا در وب‌سرویس‌ها ارسال کنید.

مثال:

# ایجاد یک شیء PowerShell
$person = [PSCustomObject]@{
    name = "Ali"
    age = 27
    isStudent = $false
}

# تبدیل شیء به JSON
$json = $person | ConvertTo-Json
$json  # نمایش داده‌های JSON

در این مثال، یک شیء PowerShell به فرمت JSON تبدیل می‌شود. خروجی آن به شکل زیر خواهد بود:

{
  "name": "Ali",
  "age": 27,
  "isStudent": false
}

۱.۳ کاربردهای JSON در PowerShell

  • استفاده از JSON برای تبادل داده‌ها با APIها
  • خواندن فایل‌های JSON برای پیکربندی‌ها
  • ذخیره و انتقال داده‌ها به صورت ساختار یافته

۲. کار با CSV

CSV یکی دیگر از فرمت‌های محبوب برای ذخیره و انتقال داده‌ها است که به صورت متنی داده‌ها را به صورت جدول‌وار ذخیره می‌کند. در PowerShell، دستورات خاصی برای کار با داده‌های CSV وجود دارد.

۲.۱ Import-Csv

دستور Import-Csv برای وارد کردن داده‌های CSV به PowerShell استفاده می‌شود. این دستور، فایل CSV را به شیءهای PowerShell تبدیل می‌کند، که در آن هر سطر به عنوان یک شیء در نظر گرفته می‌شود و هر ستون به عنوان یک پراپرتی.

مثال:

# فرض کنید فایل test.csv به شکل زیر است:
# name,age,isStudent
# Ali,27,false
# Sara,22,true

$csvData = Import-Csv C:\test.csv
$csvData  # نمایش داده‌های CSV به عنوان اشیاء PowerShell

در این مثال، داده‌های CSV به یک مجموعه از اشیاء تبدیل می‌شوند و می‌توانید به راحتی به هر سطر (که به صورت شیء است) و هر ستون (که به صورت پراپرتی است) دسترسی پیدا کنید.

۲.۲ Export-Csv

دستور Export-Csv برای خروجی دادن داده‌ها به فرمت CSV استفاده می‌شود. شما می‌توانید داده‌های PowerShell را به فرمت CSV تبدیل کرده و در یک فایل ذخیره کنید.

مثال:

# ایجاد یک مجموعه از اشیاء PowerShell
$people = @(
    [PSCustomObject]@{name="Ali"; age=27; isStudent=$false}
    [PSCustomObject]@{name="Sara"; age=22; isStudent=$true}
)

# ذخیره داده‌ها در یک فایل CSV
$people | Export-Csv C:\people.csv -NoTypeInformation

در این مثال، داده‌ها به یک فایل CSV تبدیل می‌شوند. پارامتر -NoTypeInformation برای حذف اطلاعات اضافی (که نوع داده را نشان می‌دهد) از فایل CSV استفاده می‌شود.

۲.۳ کاربردهای CSV در PowerShell

  • خواندن و نوشتن داده‌ها به صورت جدول‌وار
  • انتقال داده‌های ساختاریافته در قالب‌های ساده
  • استفاده در فایل‌های پیکربندی یا ذخیره داده‌ها در فایل‌های متنی

۳. نکات مهم هنگام کار با JSON و CSV

  • تبدیل JSON به شیء PowerShell: با دستور ConvertFrom-Json می‌توانید داده‌های JSON را به شیء‌های قابل استفاده در PowerShell تبدیل کنید. این دستور به شما امکان می‌دهد که به راحتی با داده‌های ساختار یافته کار کنید.
  • تبدیل شیء PowerShell به JSON: با ConvertTo-Json می‌توانید اشیاء PowerShell را به JSON تبدیل کنید، که برای ارسال داده‌ها به APIها یا ذخیره اطلاعات به صورت JSON مفید است.
  • کار با CSV: دستورات Import-Csv و Export-Csv به شما این امکان را می‌دهند که داده‌ها را به راحتی از فرمت CSV بخوانید و به آن بنویسید. این دستورات به ویژه در کار با داده‌های جدولی بسیار مفید هستند.

۴. تمرین برای شما

۱. یک فایل JSON بسازید که شامل اطلاعات یک شخص (نام، سن، وضعیت دانشجویی) باشد. سپس این فایل را با استفاده از Get-Content بخوانید و داده‌های آن را به PowerShell تبدیل کنید.

۲. داده‌های JSON را به فرمت PowerShell تبدیل کنید و نام شخص را نمایش دهید.

۳. یک مجموعه از داده‌های PowerShell ایجاد کنید و آن‌ها را به فرمت CSV ذخیره کنید.

۴. داده‌های CSV را به PowerShell وارد کنید و فقط کسانی که دانشجو هستند را نمایش دهید.


🔑 خلاصه‌ی درسنامه:

  • ConvertFrom-Json: برای تبدیل داده‌های JSON به اشیاء PowerShell.
  • ConvertTo-Json: برای تبدیل اشیاء PowerShell به داده‌های JSON.
  • Import-Csv: برای وارد کردن داده‌های CSV به PowerShell.
  • Export-Csv: برای ذخیره داده‌ها به فرمت CSV.

این دستورات به شما کمک می‌کنند تا به راحتی با داده‌های JSON و CSV کار کنید و آن‌ها را به اشیاء PowerShell تبدیل کنید، یا از آن‌ها داده‌های جدید ایجاد کنید.

Report Page