我有一个Python脚本需要3个值,并将一行写入SQL文件以将这些值插入数据库。我被特别告知我可能不会使用csv作家。假设我有写入文件时不会显示某些字符
sqlfile = open("./sqlfile.sql", "wb")
我使用写插入线的命令如下:
line = "insert into `mytable`(`value1`,`value2`,`value3`) values (\"" + variable1 + "\",\"" + variable2 + "\",\"" + variable3 + "\");\n"
sqlfile.write(line)
(值得注意的是所有三个都是字符串值)在这个例子中我将设置变量1 = AAA ,variable2 = BBB,variable3 = CCC。当它运行时,脚本打印如下:
insert into `mytable`(`value1``value2``value3`) values ("AAA"BBBCCC);
换句话说,没有逗号打印。更令人沮丧的是,报价打印,但只有第一组 - 第二和第三组被忽略,就像逗号。我也试过做类似variable1 + "\"" + "," + "\"" + variable2
,以及与\
,而不是只是,
但是这也没有工作。令人沮丧的是我写了这个项目中的其他文件,并使用逗号和引号,并且它以前工作过。我对Python非常陌生,特别是使用它来写入和从文件写入,所以我不知道为什么发生这种情况。我对网络的初步搜索也没有多大帮助。有人有建议吗?谢谢!
另外,我一次只写了一个部分就尝试了这种方法,但那也没用。
为什么在二进制模式下打开文件? –
我用'w'和'wb'试过了,都不行。那只是我尝试过的最新版本。 – thnkwthprtls
奇数。这些逗号应该写成。文件模式应该没有区别。你确定这是*确切*代码? (另外,使用'format'可以很好地清理它。) – user2864740