استخراج تواريخ وقيم اليورو من جدول HTML باستخدام Python وPandas
في هذا السياق، يسعدني أن أقدم لك الإرشادات اللازمة لاستخراج محتوى الجدول HTML وحفظه في ملف CSV باستخدام مكتبة pandas في لغة البرمجة Python. لديك جدول يحتوي على تواريخ وقيم مرتبطة بالعملة الأوروبية لكل ساعة، وهناك حاجة لاستخراج التواريخ والقيم المرتبطة باليورو لكل ساعة، وحفظها في ملف CSV.
أولاً، يجب عليك تثبيت مكتبة pandas إذا لم تكن مثبتة بالفعل، ويمكنك القيام بذلك باستخدام الأمر التالي:
bashpip install pandas
بمجرد تثبيت مكتبة pandas، يمكنك استخدام الكود التالي في Python لتحقيق المطلوب:
pythonimport pandas as pd
from bs4 import BeautifulSoup
# HTML الخاص بك كنص
html_content = """
"""
# قم بتحليل الHTML باستخدام BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
# استخراج التواريخ
dates_row = soup.find('tr', class_='no-border')
dates = [date.text.strip() for date in dates_row.find_all('th')[2:]]
# استخراج القيم المرتبطة باليورو لكل ساعة
data_rows = soup.find_all('tr', class_='no-border')
euro_values = [row.find_all('td')[2].text for row in data_rows]
# إنشاء DataFrame باستخدام pandas
df = pd.DataFrame({'Date': dates, 'Euro/MWh': euro_values})
# حفظ DataFrame في ملف CSV
df.to_csv('output.csv', index=False)
print("تم استخراج البيانات بنجاح وحفظها في ملف CSV.")
يتم في هذا الكود استخدام مكتبة BeautifulSoup لتحليل HTML واستخراج المعلومات المطلوبة، ومن ثم يتم إنشاء DataFrame باستخدام pandas وحفظه في ملف CSV بالاسم “output.csv”.
المزيد من المعلومات
بالطبع، يمكننا توسيع المعلومات لضمان فهم أعمق للعملية والتقنيات المستخدمة. في هذا السياق، سنتحدث عن كل خطوة في الكود وكيفية تحقيق الهدف بشكل أفضل.
-
تحليل HTML باستخدام BeautifulSoup:
في هذه الخطوة، تقوم مكتبة BeautifulSoup بتحويل النص الHTML إلى هيكل قابل للاستخدام في Python. تُمكننا وظيفةBeautifulSoup
من الوصول إلى العناصر المختلفة في الصفحة بسهولة.pythonsoup = BeautifulSoup(html_content, 'html.parser')
-
استخراج التواريخ:
نقوم بالبحث عن العنصرtr
الذي يحتوي على التواريخ باستخدام الفئة “no-border”. ثم نقوم بالعثور على عناصرth
داخل هذا الصف واستخراج نصوص التواريخ.pythondates_row = soup.find('tr', class_='no-border') dates = [date.text.strip() for date in dates_row.find_all('th')[2:]]
-
استخراج القيم المرتبطة باليورو لكل ساعة:
نقوم بالبحث عن جميع العناصرtr
التي تحمل الفئة “no-border” ونستخرج القيم المرتبطة باليورو (€/MWh
) لكل ساعة.pythondata_rows = soup.find_all('tr', class_='no-border') euro_values = [row.find_all('td')[2].text for row in data_rows]
-
إنشاء DataFrame باستخدام pandas:
نقوم بإنشاء DataFrame باستخدام pandas، حيث يتم تحديد الأعمدة “Date” و “Euro/MWh” باستخدام التواريخ والقيم المستخرجة.pythondf = pd.DataFrame({'Date': dates, 'Euro/MWh': euro_values})
-
حفظ DataFrame في ملف CSV:
يتم استخدام وظيفةto_csv
لحفظ DataFrame في ملف CSV بسهولة، مع خيارindex=False
لعدم تضمين الفهرس في الملف الناتج.pythondf.to_csv('output.csv', index=False)
باستخدام هذا الكود، يمكنك الآن استخراج التواريخ والقيم المرتبطة باليورو من الجدول HTML وحفظها في ملف CSV بسهولة. يُفضل دائمًا فحص البيانات المستخرجة للتأكد من دقتها واكتمالها.