我尝试使用csv
文件上传表格中的所有行。 csv
文件中有' ic_dph',' psc',' name',' mesto' ...等字段我想将缺少的记录添加到数据库中。
with open('phs.csv') as f:
for line in f:
i+=1
line = line.strip('\n').decode('cp1250')
splt = line.split(';')
if len(splt)==6:
cur.execute(u"""UPDATE companies SET ic_dph=?,mesto=?,ulica_cislo=?,psc=? WHERE nazov=?""",(splt[0],splt[2],splt[4],splt[3],splt[1]))
if i%50==0: print i
conn.commit()
此代码可以正常工作,但它非常有效(几秒钟内有50条记录)。
您有什么想法可以提高更新速度吗?
编辑:根据Gordon Linoff的评论,我已将数据加载到表中并尝试以这种方式更新。但是SqliteStudio说在SQL命令的某个地方有一个错误。
UPDATE companies SET companies.ic_dph = financna_sprava.ic_dph, companies.mesto = financna_sprava.mesto, companies.ulica_cislo = financna_sprava.ulica_cislo, companies.psc=financna_sprava.psc WHERE companies.nazov = financna_sprava.nazov
答案 0 :(得分:0)
Sqlite不支持JOIN中的UPDATE,所以使用子查询
server_number = 1;
ProcessBuilder pb = new ProcessBuilder("./connectvpn.sh", server_number);
Process proc = pb.start();