Сохранение Python в MSSQL Форматирование строк - PullRequest
0 голосов
/ 08 октября 2018

У меня проблема со вставкой значений в базу данных MSSQL.Строка взята из дублированного Dataframe Pandas и должна быть вставлена ​​через sqlalchemy / pyodbc.Так как метод Panda Dataframe "to_sql" является медленным, я хотел вставить значения в пакет 1000 и построил следующий метод (в соответствии с учебником, найденным в Интернете):

def chunker(seq, size):
return (seq[pos:pos + size] for pos in range(0, len(seq), size))

def mssql_insert_rows(records,db_extract, target_tbl):
insert_ = "INSERT INTO dbo."+ db_extract+ "_"+ target_tbl+ " VALUES "
for batch in chunker (records, 1000):

    rows = ','.join(batch)
    insert_rows = insert_+rows
    cursorSQL.execute(insert_rows)
    connSQL.commit()

Вот какстрока выглядит следующим образом:

(\ '2 \', \ '10 \ ', \ '41 \', \ 'null \', \ 'null \', \ 'null \', \ 'None \', \ 'FR \', "Saint-ouen l \ 'aumône", \' 2013_07M \ ', \' False \ ', \' True \ ', \' 113706 \ ', \' 1990-01-01 00: 00: 00.0 \ ', \' 2013-04-30 00: 00: 00.0 \ ', \' 9AAE305417 \ ', \' null \ ', \' None \ ', \' False \ ', \ 'False \')

Как видно из cou, значение "Saint-ouen l \ 'aumône" довольно плохо для вставки, так как программа теперь думает, что это имя столбца.Я пробовал разные подходы, такие как df.replace или str.replace, чтобы решить эту проблему, но ничто действительно не приводит меня к решению.

Кто-нибудь здесь знает хороший и простой способ преобразования значений, подобных этому?Лично я не возражаю, если значение будет выглядеть следующим образом:

Saint-ouen laumone

или около того.

Заранее спасибо!: -)

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