如何将Python字典插入SQL Server数据库表?

时间:2018-04-05 16:08:46

标签: python sql-server pandas dictionary

我有一个包含3个键的字典,它们对应于SQL Server表中的字段名称。这些键的值来自excel文件,我将这个字典存储在一个数据框中,我现在需要将其插入到SQL表中。这些都可以在下面的代码中看到:

back.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent ev) 
            {
                new StateMachine("/theme");
            }
        });

我的问题是如何将此字典插入到SQL表中?

另外,作为旁注,这段代码是一个循环的一部分,需要逐个浏览几个excel文件,将数据插入字典然后插入SQL然后删除字典中的数据并重新开始下一个excel文件。

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

import MySQLdb
# connect
conn = MySQLdb.connect("127.0.0.1","username","passwore","table")
x = conn.cursor()

# write
x.execute('INSERT into table (row_date, sita, event) values ("%d", "%d", "%d")' % (row_date, sita, event))

# close
conn.commit()
conn.close()

您可能需要根据SQL限制稍微更改一下,但无论如何应该给您一个良好的开端。

答案 1 :(得分:0)

对于pandas数据框,可以使用pandas内置方法to_sql来存储在db中。以下是使用它的方法。

getFareTotal() {
  let sum = 0
  this.form.ticketInvoiceItems.forEach(i=> sum+=i.fares);
  console.log(sum)
}

对于这种方法,您将需要安装import sqlalchemy as sa params = urllib.quote_plus("DRIVER={};SERVER={};DATABASE={};Trusted_Connection=True;".format("{SQL Server}", "<db_server_url>", "<db_name>")) conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params) engine = sa.create_engine(conn_str) df.to_sql(<table_name>, engine,schema=<schema_name>, if_exists="append", index=False) 软件包。

sqlalchemy

您还需要在计算机上设置MSSql DSN。