Я потратил два дня, чтобы выяснить, что происходит с моим кодом. Я создал файл базы данных из моего кадра данных. Проблема в том, что когда я делаю оператор select, включающий оператор where с целочисленным столбцом, я получаю возвращаемые записи, но когда я использую строковый столбец, я не получаю никакого значения.
con = sqlite3.connect("sqladb.db")
select_str='''select * from sqladb where age=40 limit 2;'''
results=con.execute(select_str)
for rec in results:
print(rec)
Приведенный выше код возвращает записи .
select_str='''select * from sqladb where sex='Male' limit 2;'''
results=con.execute(select_str)
for rec in results:
print(rec)
Код выше возвращает значение None , пока есть записи. Пол столбца - это строка.
Я ожидаю вывод с записями в соответствии с моим утверждением.
Копировать из комментария:
CREATE TABLE "sqladb" ( "age" INTEGER, "workclass" TEXT, "fnlwgt" INTEGER, "education" TEXT, "education-num" INTEGER, "marital-status" TEXT, "occupation" TEXT, "relationship" TEXT, "race" TEXT, "sex" TEXT, "capital-gain" INTEGER, "capital-loss" INTEGER, "hours-per-week" INTEGER, "native-country" TEXT, "label" TEXT )
(39, ' State-gov', 77516, ' Bachelors', 13, ' Never-married', ' Adm-clerical', ' Not-in-family', ' White', ' Male', 2174, 0, 40, ' United-States', ' <=50K')
(50, ' Self-emp-not-inc', 83311, ' Bachelors', 13, ' Married-civ-spouse', ' Exec-managerial', ' Husband', ' White', ' Male', 0, 0, 13, ' United-States', ' <=50K')
(38, ' Private', 215646, ' HS-grad', 9, ' Divorced', ' Handlers-cleaners', ' Not-in-family', ' White', ' Male', 0, 0, 40, ' United-States', ' <=50K')