Перемещение pandas кадра данных со специальными символами (точка «.») В имени столбца в ms sql с использованием sqlalchemy и чистого python (без зависимости pyodb c) - PullRequest
3 голосов
/ 03 мая 2020

Команда ниже для сохранения pandas фрейма данных, который содержит специальный символ (точка - «.»), Отлично работает с библиотекой «pyodbc», но выдает следующую ошибку при попытке вставить данные sh в sql с использованием чистого python ( sqlalchemy and pytds )

df = pd.DataFrame({‘name.display':‘display value’, ‘name.value':‘John'})
df.to_sql('users', con=engine, if_exists=‘replace')

Ошибка: sqlalchemy.ex c .OperationalError: (pytds.tds_base.OperationalError) Неверный синтаксис рядом с '.' Необходимо объявить скалярную переменную «@user»

Я уже пробовал…

  1. , заключая имена столбцов в квадратные скобки, но, кажется, это уже сделано pandas, когда данные обрабатываются помещается в базу данных и заканчивает тем, что создает двойные скобки вокруг имени столбца и завершается ошибкой при создании таблицы
  2. пробовал переименовывает столбец имена (заменяют «.» на «_»), что работает, но у нас есть требование нуждающихся в точках в соглашении об именовании столбцов для нескольких таблиц базы данных

В поисках чистого подхода python, поскольку в нашей среде linux не требуется поддержка odb c

чтобы проверить с python сообществом любые предложения, большое спасибо

...