我需要读取管道(|)分隔的文本文件。 其中一个字段包含可能包含双引号的说明。 我注意到包含“的所有行在接收字典中缺失 为了避免这种情况,我尝试读取整行,并使用string.replace()将其删除,如下所示,但它看起来像这些引号的出现在读取线程阶段造成了问题,即在string.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(“|”,“/”)' – schwobaseggl
[Python解析CSV忽略逗号与双引号]的可能重复(https://stackoverflow.com/问题/ 21527057/python-parse-csv-ignore-comma-with-double-quotes) –
这是由于“替换到位”问题。我将修改过的文本存储回变量中,并且工作正常。 – JCF