التعامل مع تواريخ JSON في Excel
غالبًا ما يتضمن العمل مع مجموعات بيانات JSON التعامل مع التواريخ بتنسيقات مختلفة. التنسيق الشائع هو YYYYMMDD، حيث تظهر التواريخ كأرقام، مثل 20190611 ليوم 11 يونيو 2019.
في هذه المقالة، سنستكشف سبب عدم عمل تنسيق التاريخ العادي في Excel لهذه التواريخ ونناقش الحلول لتحويلها إلى تنسيق قابل للقراءة. سنقدم أيضًا نصائح لإدراج الواصلات بشكل صحيح إذا لزم الأمر.
يأمر | وصف |
---|---|
Set ws = ThisWorkbook.Sheets("Sheet1") | يقوم بتعيين ورقة العمل المحددة للمتغير ws في VBA. |
Set rng = ws.Range("A1:A100") | يحدد نطاقًا من الخلايا في ورقة العمل المحددة في VBA. |
IsNumeric(cell.Value) | التحقق مما إذا كانت قيمة الخلية رقمية في VBA. |
import pandas as pd | يستورد مكتبة الباندا ويعين لها اسمًا مستعارًا "pd" في بايثون. |
df['Date'].apply(convert_date) | يطبق دالة على كل عنصر في عمود "التاريخ" في DataFrame في Python. |
df.to_excel('formatted_data.xlsx', index=False) | يكتب DataFrame إلى ملف Excel، بدون فهارس الصفوف، في Python. |
TEXT(LEFT(A1, 4) & "-" & MID(A1, 5, 2) & "-" & RIGHT(A1, 2), "yyyy-mm-dd") | يسلسل أجزاء من سلسلة وينسقها كتاريخ في صيغة Excel. |
تحويل تواريخ JSON إلى تنسيق قابل للقراءة في Excel
تم تصميم برنامج VBA النصي المقدم في الأمثلة السابقة لإعادة تنسيق التواريخ المخزنة كأرقام بتنسيق YYYYMMDD إلى تنسيق YYYY-MM-DD في Excel أكثر قابلية للقراءة. يتم تحقيق ذلك من خلال التكرار على نطاق محدد من الخلايا، والتحقق مما إذا كانت كل خلية تحتوي على قيمة رقمية بطول ثمانية أحرف، ثم إعادة ترتيب وإدراج الواصلات في المواضع المناسبة. الامر Set ws = ThisWorkbook.Sheets("Sheet1") يعين ورقة العمل حيث توجد البيانات، و Set rng = ws.Range("A1:A100") يحدد نطاق الخلايا المراد معالجتها. ال IsNumeric(cell.Value) يتم استخدام الأمر للتحقق مما إذا كانت قيمة الخلية رقمية، مما يضمن معالجة الخلايا ذات الصلة فقط. ومن خلال استخدام هذه الأوامر، يقوم البرنامج النصي بتنسيق التواريخ بكفاءة كما هو مطلوب.
يستفيد برنامج Python النصي من مكتبة الباندا للتعامل مع تحويل التاريخ. الامر import pandas as pd يستورد مكتبة الباندا، وهو أمر بالغ الأهمية لمعالجة البيانات. الوظيفة df['Date'].apply(convert_date) يطبق العرف convert_date دالة لكل عنصر في عمود "التاريخ"، مما يؤدي إلى تحويل تنسيق التاريخ. أخيراً، df.to_excel('formatted_data.xlsx', index=False) يحفظ DataFrame المنسق حديثًا مرة أخرى إلى ملف Excel دون تضمين الفهرس. يقدم هذا البرنامج النصي بديلاً قويًا لـ VBA للمستخدمين المطلعين على لغة Python. بالإضافة إلى صيغة Excel TEXT(LEFT(A1, 4) & "-" & MID(A1, 5, 2) & "-" & RIGHT(A1, 2), "yyyy-mm-dd") يوفر حلاً سريعًا يعتمد على الصيغة لتحويل التواريخ الفردية مباشرة داخل خلايا Excel. تعالج كل طريقة من هذه الطرق مشكلة تحويل التواريخ من مجموعات بيانات JSON إلى تنسيق سهل الاستخدام في Excel، مما يوفر حلولاً متعددة الاستخدامات لتفضيلات المستخدم المختلفة.
تحويل تواريخ JSON في Excel: إضافة الواصلات برمجياً
برنامج VBA لبرنامج Excel
Sub ConvertDates()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Set ws = ThisWorkbook.Sheets("Sheet1") ' Adjust sheet name if necessary
Set rng = ws.Range("A1:A100") ' Adjust range if necessary
For Each cell In rng
If IsNumeric(cell.Value) And Len(cell.Value) = 8 Then
cell.Value = Left(cell.Value, 4) & "-" & Mid(cell.Value, 5, 2) & "-" & Right(cell.Value, 2)
End If
Next cell
End Sub
أتمتة تحويل التاريخ لبرنامج Excel باستخدام Python
نص بايثون مع الباندا
import pandas as pd
df = pd.read_excel('data.xlsx') # Replace with your file name
def convert_date(date_str):
return f"{date_str[:4]}-{date_str[4:6]}-{date_str[6:]}"
df['Date'] = df['Date'].apply(convert_date)
df.to_excel('formatted_data.xlsx', index=False)
استخدام صيغ Excel لإعادة تنسيق تواريخ JSON
صيغ اكسل
=TEXT(LEFT(A1, 4) & "-" & MID(A1, 5, 2) & "-" & RIGHT(A1, 2), "yyyy-mm-dd")
طرق فعالة لتحويل تواريخ JSON في Excel
هناك طريقة أخرى لتحويل تواريخ JSON في Excel وهي استخدام Power Query، وهي تقنية اتصال بيانات تمكن المستخدمين من اكتشاف البيانات وتوصيلها ودمجها وتحسينها عبر مجموعة واسعة من المصادر. يمكن أن يكون Power Query مفيدًا بشكل خاص عند التعامل مع مجموعات البيانات الكبيرة أو عندما يلزم أن يكون تحويل التاريخ جزءًا من عملية تحويل بيانات أكبر. لاستخدام Power Query لتحويل التاريخ، يمكنك استيراد مجموعة البيانات إلى Excel، ثم استخدام Power Query لتحويل عمود التاريخ. ابدأ بتحديد البيانات واختيار "من الجدول/النطاق" في Power Query Editor. استخدم ميزة "إضافة عمود" لإنشاء عمود مخصص وتطبيق وظيفة لتنسيق التواريخ بشكل صحيح. تتميز هذه الطريقة بالكفاءة وتتكامل بسلاسة مع خطوات معالجة البيانات الأخرى في Power Query.
إلى جانب Power Query، هناك طريقة فعالة أخرى وهي استخدام ميزة تحويل النص إلى أعمدة في Excel. تتيح هذه الأداة المضمنة للمستخدمين تقسيم عمود واحد من النص إلى أعمدة متعددة بناءً على المحددات. بالنسبة للتواريخ بتنسيق YYYYMMDD، يمكنك استخدام تحويل النص إلى أعمدة لتقسيم النص إلى أعمدة منفصلة للسنة والشهر واليوم، ثم ربط هذه الأعمدة مرة أخرى مع الواصلات في الأماكن المناسبة. هذه الطريقة بسيطة ولا تتطلب أي معرفة برمجية. يوفر كل من Power Query وText-to-Columns مرونة إضافية ويمكن أن يكونا بدائل قيمة لاستخدام البرامج النصية لـ VBA أو Python، اعتمادًا على معرفة المستخدم واحتياجاته المحددة.
أسئلة شائعة حول تحويل التاريخ JSON في Excel
- كيف يمكنني استخدام Power Query لتحويل تواريخ JSON؟
- حدد البيانات، وانتقل إلى علامة التبويب "البيانات"، واختر "من الجدول/النطاق" لفتح محرر Power Query. استخدم "إضافة عمود" لإنشاء عمود مخصص بالتاريخ المنسق.
- هل يمكنني أتمتة تحويل التاريخ باستخدام Power Query؟
- نعم، بمجرد إعداد خطوات التحويل في Power Query، يمكنك تحديث الاستعلام لتطبيق نفس الخطوات على البيانات المحدثة تلقائيًا.
- ما هي ميزة تحويل النص إلى أعمدة؟
- تعد ميزة "تحويل النص إلى أعمدة" إحدى ميزات Excel التي تقسم عمودًا واحدًا من النص إلى أعمدة متعددة بناءً على المحددات، وهي مفيدة لفصل مكونات التاريخ.
- كيف يمكنني استخدام تحويل النص إلى أعمدة لتحويل التاريخ؟
- حدد العمود الذي يحتوي على قيم التاريخ، وانتقل إلى علامة التبويب "البيانات"، واختر "تحويل النص إلى أعمدة"، واتبع المعالج لتقسيم النص إلى أعمدة منفصلة.
- هل يمكنني استخدام صيغ Excel لإعادة تنسيق التواريخ؟
- نعم، يمكنك استخدام مجموعة من وظائف Excel مثل LEFT, MID، و RIGHT لاستخراج مكونات التاريخ وإعادة تجميعها بالواصلات.
- هل هناك أي وظائف إضافية لتحويل التاريخ؟
- هناك العديد من وظائف Excel الإضافية المتاحة التي يمكنها تبسيط مهام تحويل التاريخ، وتوفير واجهات سهلة الاستخدام وميزات إضافية.
- ما هي فوائد استخدام VBA لتحويل التاريخ؟
- يسمح VBA بأتمتة وتخصيص عملية تحويل التاريخ، مما يتيح معالجة الدفعات والتكامل مع مهام Excel الأخرى.
- هل يمكنني استخدام بايثون مع إكسيل لتحويل التاريخ؟
- نعم، باستخدام مكتبات مثل الباندا، يمكنك قراءة ملفات Excel ومعالجة تنسيقات التاريخ وحفظ النتائج مرة أخرى في Excel.
- ما هي القيود المفروضة على استخدام صيغ Excel لتحويل التاريخ؟
- يمكن أن تكون صيغ Excel أقل كفاءة بالنسبة لمجموعات البيانات الكبيرة وقد تتطلب وظائف متداخلة معقدة لتحقيق النتائج المطلوبة.
اختتام دليل تحويل تاريخ JSON
تتطلب إعادة تنسيق التواريخ في Excel من تنسيق YYYYMMDD، خاصة من مجموعات بيانات JSON، تقنيات محددة تتجاوز خيارات التنسيق العادية. إن استخدام أساليب مثل البرمجة النصية VBA وPython، إلى جانب أدوات Excel المضمنة مثل تحويل النص إلى أعمدة وPower Query، يضمن تحويل التواريخ بدقة وكفاءة. توفر هذه الحلول تنوعًا، وتستوعب المستخدمين بمستويات مختلفة من الخبرة البرمجية واحتياجات معالجة البيانات المختلفة.