Я пытаюсь выяснить проблему загрузки строковых литералов '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» в виде строки.