to_ SQL nan и Null Values, все еще получая строковый литерал 'nan' в таблице SQL - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь выяснить проблему загрузки строковых литералов 'nan' в целевую таблицу, и я исчерпал несколько решений, которые я прочитал о переполнении стека.

У меня есть данные, которые должны быть все в строковом формате, когда они загружаются в целевую таблицу, чтобы они сохранялись в формате varchar.

Actual_Load - мой фрейм данных, который я пытаюсь подготовить к загрузке.

1) actual_load = actual_load.where(pd.notnull(actual_load), None)
2) actual_load = actual_load.replace({pd.np.nan: None})
3) for each in actual_load.columns:
    actual_load[each] = actual_load[each].apply(lambda v: str(v) if str(v) != 'nan' else None).tolist()

Это мой оператор to_ sql:

engine = sal.create_engine ('mssql + pyodb c: // имя_сервера / имя_базы_данных? Driver = SQL сервер ? Trusted_Connection = yes ') conn = engine.connect () actual_load.to_ sql (' target_table ', con = engine, if_exists =' append ', index = False)

Даже с решением 3 большинство значения загружаются со значениями «NULL» в таблицу SQL, но некоторая часть столбца все еще имеет «nan» в виде строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...