【发布时间】:2018-03-11 07:32:19
【问题描述】:
我需要阅读一个以竖线(|)分隔的文本文件。 其中一个字段包含可能包含双引号的描述。 我注意到接收字典中缺少所有包含 " 的行。 为避免这种情况,我尝试读取整行,并使用 string.replace() 删除它们,如下所示,但看起来这些引号的存在在读行阶段会产生问题,即在字符串之前.replace() 方法。
代码如下,问题是“如何强制python不使用任何分隔符并保持行完整?”。
with open(fileIn) as txtextract:
readlines = csv.reader(txtextract,delimiter="µ")
for line in readlines:
(...)
LI_text = newline[107:155]
LI_text.replace("|","/")
LI_text.replace("\"","") # use of escape char don't work.
注意:我使用的是 3.6 版
【问题讨论】:
-
replace不会就地替换。您必须将结果分配回变量:LI_text = LI_text.replace("|","/") -
这是由于“就地替换”问题。我将修改后的文本存储回变量中并且它起作用了。
标签: python