我有一个包含3个键的字典,它们对应于SQL Server表中的字段名称。这些键的值来自excel文件,我将这个字典存储在一个数据框中,我现在需要将其插入到SQL表中。这些都可以在下面的代码中看到:
back.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
new StateMachine("/theme");
}
});
我的问题是如何将此字典插入到SQL表中?
另外,作为旁注,这段代码是一个循环的一部分,需要逐个浏览几个excel文件,将数据插入字典然后插入SQL然后删除字典中的数据并重新开始下一个excel文件。
答案 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。