【问题标题】:Python csv reader: ignoring special charactersPython csv阅读器:忽略特殊字符
【发布时间】:2017-07-25 06:45:57
【问题描述】:

我正在尝试读取一个制表符分隔的文件,以便我可以逐行处理它。一行中的某些分隔字段可能是很长的字符串,包含带有 HTML p 标签和其他特殊字符的文本,例如:

"String1"  "String2"  "<p>This should</p>
<p>be read as one</p>
<p>string.</p>"
"String4"   "String5"   "String6"

我得到的是:

"String1"  "String2"  "<p>This should</p>"
"<p>be read as one</p>"
"<p>string.</p>"
"String4"   "String5"   "String6"

即第三个字符串被拆分。

我正在尝试使用 Python csv 阅读器读取 tsv 文件并尝试了多种方言设置,但没有弄明白:

with open(fileName, 'rb') as tsvHandle:
    tsvHandle = csv.reader(tsvHandle, delimiter='\t', quotechar='"', escapechar='\\', skipinitialspace)

有人可以建议怎么做吗?

【问题讨论】:

  • 要删除 html 字符,您可以使用 beautifulsoup
  • 所以我找到了解决问题的方法:将方言设置为以下选项就足够了:delimiter='\t', quoting= csv.QUOTE_ALL, quotechar = '"'
  • 酷。分享这个作为答案:)

标签: python csv escaping quotes


【解决方案1】:

尝试使用: tsvHandle = csv.reader(tsvHandle, delimiter='\t', quoting= csv.QUOTE_ALL, quotechar = '"')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 2013-12-11
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多