我有一個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