我想讀取一個 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 |
|---|---|---|
| col1 | {"a":"1","b":"2 | 3","c":"4"} |
預期的
| 0 | 1 |
|---|---|
| col1 | {"a":"1","b":"2|3","c":"4"} |
uj5u.com熱心網友回復:
試試這個:
data = """col1|'{"a":"1","b":"2|3","c":"4"}'"""
df = pd.read_csv(
StringIO(data),
header=None,
sep='|',
quotechar="'"
)
如果值包含在指定的 中,pandas 可以將值識別為整個字串quotechar,因為您需要將 json 像字串包圍在''.
我還三重參考了data字串以保留單引號。您還可以在 csv 中撰寫具有相同字串的簡單檔案,并嘗試使用 read_csvquotechar = "'"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467781.html
上一篇:具有復合表情行為的熊貓面具
