Kil*_*ode 5 python csv parsing
我正在尝试使用 csv.reader 解析 CSV 文件,我的数据用逗号分隔,每个值都以引号开头和结尾。例子:
"This is some data", "New data", "More \"data\" here", "test"
Run Code Online (Sandbox Code Playgroud)
我的问题是第三个值,我得到的带有引号的数据有一个转义字符,以表明它是数据的一部分。python CSV 阅读器不使用此转义字符,因此会导致解析错误。
我试过如下代码:
with open(filepath) as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',', quotechar='\\"')
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误,抱怨 quotechar 不是 1 个字符。
我目前的解决方案只是在使用 csv.reader 解析之前用单引号 ' 替换所有字符 \" 字符 - 但是,我想知道是否有更好的方法而不修改原始数据。
这里的问题是您需要定义一个escapechar,以便 csv 阅读器知道将 \" 视为 "。
csv.reader(csv_file, quotechar='"', delimiter=',', escapechar='\\')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3173 次 |
| 最近记录: |