我想读取csv文件,但分隔符有时出现在第二列(json)。当它出现在引号内时,是否可以转义管道?
from io import StringIO
import pandas as pd
data = 'col1|{"a":"1","b":"2|3","c":"4"}'
df = pd.read_csv(
StringIO(data),
header=None,
sep='|',
quoting=csv.QUOTE_NONE,
quotechar='"',
doublequote=False
)
目前
<表类>0 1 2 tbody><<tr>col1 {"a"1","b":"2 3","c":"4"} 表类>
试试这个:
data = """col1|'{"a":"1","b":"2|3","c":"4"}'"""
df = pd.read_csv(
StringIO(data),
header=None,
sep='|',
quotechar="'"
)
如果值被包含在指定的quotechar
中,pandas可以将该值识别为一个完整的字符串,为此您需要像''
中的字符串一样将json包围起来。
我还三引号data
字符串以保留单引号。您也可以在csv中使用相同的字符串编写一个简单的文件,并尝试使用quotechar = "'"