"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحليل تنسيقات التاريخ المخصصة في ملفات CSV باستخدام Pandas؟

كيفية تحليل تنسيقات التاريخ المخصصة في ملفات CSV باستخدام Pandas؟

تم النشر بتاريخ 2024-11-03
تصفح:753

How to Parse Custom Date Formats in CSV Files Using Pandas?

يقوم Pandas بأتمتة تحليل التاريخ في ملفات CSV

يعمل Pandas على تبسيط استرجاع البيانات من ملفات CSV مع قدرته على استنتاج أنواع البيانات تلقائيًا، بما في ذلك التواريخ. ومع ذلك، فإنه يفشل في بعض الأحيان في التعرف على تنسيقات تاريخ محددة، مثل تلك المقدمة كـ "4-6-2013."

الحل: حدد وسيطة 'parse_dates'

للتغلب على هذا التحدي، استخدم وسيطة "parse_dates". على سبيل المثال، لتعيين عمود به تواريخ بتنسيق "YYYY-MM-DD" ككائنات "تاريخ/وقت"، قم بتنفيذ ما يلي:

df = pandas.read_csv('test.dat', parse_dates=['datetime'], delimiter=r"\s ", names=['col1','col2','col3'])

سيؤدي هذا إلى تحويل العمود ذي الصلة إلى كائنات "datetime".

التخصيص المتقدم: وظائف محلل التاريخ

لمزيد من تنسيقات التاريخ المعقدة، استخدم وظائف محلل التاريخ. تمنح هذه مرونة أكبر في تحديد منطق التحليل المخصص. على سبيل المثال، ضع في اعتبارك عمود "التاريخ والوقت" بالتنسيق "YYYY-MM-DD HH:MM:SS":

from datetime import datetime
dateparse = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
df = pd.read_csv(infile, parse_dates=['datetime'], date_parser=dateparse)

يمكنك أيضًا دمج عدة أعمدة مرتبطة بالتاريخ في عمود "تاريخ ووقت" واحد:

dateparse = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
df = pd.read_csv(infile, parse_dates={'datetime': ['date', 'time']}, date_parser=dateparse)

تصفح وثائق 'strptime' للحصول على توجيهات تمثل تنسيقات وقت وتاريخ مختلفة.

بيان الافراج أعيد طبع هذه المقالة على: 1729206855 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3