将Python保存为MSSQL字符串格式

时间:2018-10-08 07:57:47

标签: python string pandas sqlalchemy pyodbc

将值插入MSSQL数据库时遇到问题。 该字符串来自一个经过修饰的Pandas Dataframe,并应通过 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

等等。

提前谢谢! :-)

0 个答案:

没有答案