اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

المشكلة في الكود هي أنك تستخدم علامة ال backslash \ في مسار الملف، و في بايثون هذه العلامة تستخدم للهروب من الأحرف الخاصة مثل \n للسطر الجديد، لذلك يمكن أن يسبب ذلك خطأً عند قراءة مسار الملف، قم بتغيير المسار ليستخدم علامتين مائلتين للخلف \\:

heart = pd.read_sql("Data-Heart-Disease\\heart.db")
print(heart.head())

يمكنك أيضا استخدام العلامة المائلة للأمام / والتي تعمل على كل الأنظمة:

heart = pd.read_sql("Data-Heart-Disease/heart.db")
print(heart.head())

 

  • 0
نشر

المشكلة لديك في مسار الملف، حيث يجب إضافة حرف r قبل النص لتحويله إلى سلسلة نصية خام بحيث يتجاهل بايثون علامات الهروب بهذا الشكل:

heart = pd.read_sql(r"Data-Heart-Disease\heart.db")
print(heart.head())

و أيضا تأكد من أنك تستخدم مكتبة pandas بشكل صحيح وتأكد من وجود قاعدة البيانات heart.db في المسار المحدد.

  • 0
نشر

يجب أولا أن تقوم باستيراد مكتبة pandas في بداية الكود هكذا:

import pandas as pd

لكن استخدام pd.read_sql يتطلب منك تحديد الاتصال بقاعدة البيانات لذا يجب عليك استخدام sqlite3 لإنشاء اتصال:

import pandas as pd
import sqlite3

conn = sqlite3.connect("Data-Heart-Disease/heart.db")

heart = pd.read_sql("SELECT * FROM table_name", conn)

print(heart.head())

بطبيعة الحال مع استبدال table_name باسم الجدول الصحيح داخل قاعدة البيانات.

ويجب أن يكون المسار التالي صحيحا، لاحظ أنك استخدمت علامة \ بشكل عكسي لذا قم بعكسها وعدلها كالتالي:

Data-Heart-Disease/heart.db

يجب أولا أن تقوم باستيراد مكتبة pandas في بداية الكود هكذا:

import pandas as pd

لكن استخدام pd.read_sql يتطلب منك تحديد الاتصال بقاعدة البيانات لذا يجب عليك استخدام sqlite3 لإنشاء اتصال:

import pandas as pd
import sqlite3

conn = sqlite3.connect("Data-Heart-Disease/heart.db")

heart = pd.read_sql("SELECT * FROM table_name", conn)

print(heart.head())

بطبيعة الحال مع استبدال table_name باسم الجدول الصحيح داخل قاعدة البيانات.

ويجب أن يكون المسار التالي صحيحا، لاحظ أنك استخدمت علامة \ بشكل عكسي لذا قم بعكسها وعدلها كالتالي:

Data-Heart-Disease/heart.db
  • 0
نشر

تمام بس وشكرااا اوي علي المعلوم ده عشان انا كانت بتلغبط بنهم ولكن انا حولت الملف csvالي قاعد بيانات فا بيشغل بقا عشان اشوف الملف فا بيظهر خطاء ده

TypeError: read_sql() missing 1 required positional argument: 'con'

بتاريخ 3 دقائق مضت قال ياسر مسكين:

يجب أولا أن تقوم باستيراد مكتبة pandas في بداية الكود هكذا:

import pandas as pd

لكن استخدام pd.read_sql يتطلب منك تحديد الاتصال بقاعدة البيانات لذا يجب عليك استخدام sqlite3 لإنشاء اتصال:

import pandas as pd
import sqlite3

conn = sqlite3.connect("Data-Heart-Disease/heart.db")

heart = pd.read_sql("SELECT * FROM table_name", conn)

print(heart.head())

بطبيعة الحال مع استبدال table_name باسم الجدول الصحيح داخل قاعدة البيانات.

ويجب أن يكون المسار التالي صحيحا، لاحظ أنك استخدمت علامة \ بشكل عكسي لذا قم بعكسها وعدلها كالتالي:

Data-Heart-Disease/heart.db

يجب أولا أن تقوم باستيراد مكتبة pandas في بداية الكود هكذا:

import pandas as pd

لكن استخدام pd.read_sql يتطلب منك تحديد الاتصال بقاعدة البيانات لذا يجب عليك استخدام sqlite3 لإنشاء اتصال:

import pandas as pd
import sqlite3

conn = sqlite3.connect("Data-Heart-Disease/heart.db")

heart = pd.read_sql("SELECT * FROM table_name", conn)

print(heart.head())

بطبيعة الحال مع استبدال table_name باسم الجدول الصحيح داخل قاعدة البيانات.

ويجب أن يكون المسار التالي صحيحا، لاحظ أنك استخدمت علامة \ بشكل عكسي لذا قم بعكسها وعدلها كالتالي:

Data-Heart-Disease/heart.db

تمام الف شكرااا لحضرتك 

والف الشكرااا لحضرتكم

 

  • 0
نشر
بتاريخ 1 دقيقة مضت قال Ail Ahmed:

تمام بس وشكرااا اوي علي المعلوم ده عشان انا كانت بتلغبط بنهم ولكن انا حولت الملف csvالي قاعد بيانات فا بيشغل بقا عشان اشوف الملف فا بيظهر خطاء ده

TypeError: read_sql() missing 1 required positional argument: 'con'

الخطأ يشير إلى أن دالة pd.read_sql() تتطلب وسيطين على الأقل وهما كالتالي:

  • الاستعلام SQL: مثل "SELECT * FROM table_name"
  • الاتصال بقاعدة البيانات: والذي يتم تمريره كوسيط ثان وهو (المتغير con).

والسبب في ظهوره أنه إذا كنت قد استدعيت pd.read_sql() بدون تقديم الاتصال أي مثلا إذا كان لديك فقط pd.read_sql("SELECT * FROM table_name") بدون المتغير conn)، سيظهر هذا الخطأ.

لهذا وكما أشرت لك سابقا، عدّل السطر المسؤول عن هذه الدالة إلى التالي:

heart = pd.read_sql("SELECT * FROM table_name", conn)
  • 0
نشر
بتاريخ 5 دقائق مضت قال ياسر مسكين:
import sqlite3

بس انا اسخدم ال mysql-connector والا الsqlite3

بتاريخ الآن قال ياسر مسكين:

الخطأ يشير إلى أن دالة pd.read_sql() تتطلب وسيطين على الأقل وهما كالتالي:

  • الاستعلام SQL: مثل "SELECT * FROM table_name"
  • الاتصال بقاعدة البيانات: والذي يتم تمريره كوسيط ثان وهو (المتغير con).

والسبب في ظهوره أنه إذا كنت قد استدعيت pd.read_sql() بدون تقديم الاتصال أي مثلا إذا كان لديك فقط pd.read_sql("SELECT * FROM table_name") بدون المتغير conn)، سيظهر هذا الخطأ.

لهذا وكما أشرت لك سابقا، عدّل السطر المسؤول عن هذه الدالة إلى التالي:

heart = pd.read_sql("SELECT * FROM table_name", conn)

الف شكرااا لحضرتك

  • 0
نشر
بتاريخ الآن قال Ail Ahmed:

بس انا اسخدم ال mysql-connector والا الsqlite3

لا مشكلة، يمكنك استخدامها وهذا لا يغير من حقيقة أنه يجب أن يكون هنالك برامترين في الدالة read_sql الأول فيه الاستعلام والثاني خاص بالاتصال بقاعدة البيانات الذي عملته بال mysql لذا يمكنك تغيير الاستيرادت لتتوافق مع ما تستخدمه.

import pandas as pd
import mysql.connector
  • 0
نشر
بتاريخ 1 دقيقة مضت قال ياسر مسكين:

لا مشكلة، يمكنك استخدامها وهذا لا يغير من حقيقة أنه يجب أن يكون هنالك برامترين في الدالة read_sql الأول فيه الاستعلام والثاني خاص بالاتصال بقاعدة البيانات الذي عملته بال mysql لذا يمكنك تغيير الاستيرادت لتتوافق مع ما تستخدمه.

import pandas as pd
import mysql.connector

الكود اشتغل تمام الف شكرااا لحضرتك

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...