Я получаю это сообщение об ошибке, когда пытаюсь обновить или вставить данные в существующую таблицу базы данных. Выбор из него работает нормально. Я использую pyms sql в качестве моего соединения.
тестовые данные, которые я сейчас пытаюсь вставить, это
data = {
'First Column Name': ['1900-01-01_01'],
'Second Column Name': ['1900-01-01'],
'Third Column Name': [90]
}
# declaring my dataframe:
df = pd.DataFrame(data, columns = ['First Column Name',
'Second Column Name',
'Third Column Name'] )
Так что мой вывод DataFrame выглядит следующим образом:
First Column Name Second Column Name Third Column Name
0 1900-01-01_01 1900-01-01 90
Это мой курсор и мой conn (имя моих pyms sql .connect):
cursor = conn.cursor()
cursor.execute("""
insert into [test_db].[test].[test_table] (column1, column2, column3) values (%(First Column Name)s
, %(Second Column Name)s, %(Third Column Name)s)
""", df)
# conn.commit()
После выполнения кода выше я получаю эту ошибку ValueError:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-27-bc65531a7f27> in <module>
7 insert into [DASHBOARDS].[dbo].[Kalenderwochen] (Datum_KW, Datum, KW) values (%(First Column Name)d
8 , %(Second Column Name)d, %(Third Column Name)d)
----> 9 """, df)
10 # conn.commit()
11 print("\nAktualisierung der Daten erfolgreich!!")
src\pymssql.pyx in pymssql.Cursor.execute()
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
1477 def __nonzero__(self):
1478 raise ValueError(
-> 1479 f"The truth value of a {type(self).__name__} is ambiguous. "
1480 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
1481 )
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().