Я пытаюсь экспортировать таблицу из pandas в базу данных Microsoft SQL Сервер Express.
Pandas читает файл CSV в кодировке utf8. Если я сделаю df.head (), то увижу, что pandas правильно показывает иностранные символы (это греческие буквы)
Однако после экспорта в SQL эти символы отображаются в виде комбинаций вопросов знаки и нули.
Что я делаю не так?
Не могу найти, чтобы у to_ sql () была какая-либо опция для установки кодировки. Думаю, мне нужно изменить синтаксис при настройке движка SQL, но как именно?
Это то, что я пытался:
import numpy as np
import pandas as pd
from sqlalchemy import create_engine, MetaData, Table, select
import sqlalchemy as sqlalchemy
ServerName = my_server_name
Database = my_database
params = '?driver=SQL+Server+Native+Client+11.0'
engine = create_engine('mssql+pyodbc://' + ServerName + '/'+ Database + params, encoding ='utf_8', fast_executemany=True )
connection = engine.raw_connection()
cursor = connection.cursor()
file_name = my_file_name
df = pd.read_csv(file_name, encoding='utf_8', na_values=['null','N/A','n/a', ' ','-'] , dtype = field_map, thousands =',' )
print(df[['City','Municipality']].head()) # This works