簡體   English   中英

取代&qout; 使用python寫入文本文件時使用“

[英]Replacing &qout; with " when writing to text file with python

我正在從文本文件中讀取列名稱的列表,然后使用這些名稱使用pystache呈現sql模板,然后將呈現的模板寫入sql文件。 問題是列名有時會帶有冒號,因此在查詢中需要用雙引號引起來。

列名稱文本文件的示例:

column1
"column2:extra"
column3

我遇到一個問題,其中雙引號被& quot ;代替; 在輸出文件中。 我嘗試使用

#read in column names
with open(attrs_file, 'r') as fields:
    attrs = fields.read().splitlines()

...

with open(sql_in, 'r') as sql:
    data = sql.read()
    data = pystache.render(data, {'replace':new})

with open(sql_out, 'wb') as sql:
    data = data.replace('&qout;', '"')
    #data = data.replace('&qout;', "\"")
    sql.write(data)

replace方法無效,我寧願不必進行后處理來搜索和替換以及&qout;。 創建文件后。 感謝您的任何建議。

replace不會就地修改字符串,它會返回具有所需更改的新字符串實例。 您應該將返回值分配給某些東西。

data = data.replace('&qout;', '"')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM