<p>一种可能的解决方案是创建一个列<code>DataFrame</code>,其分隔符不在<code>|</code>这样的数据中,然后使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.split.html" rel="nofollow noreferrer">^{<cd3>}</a>和<code>n</code>参数:</p>
<pre><code>from io import StringIO
import pandas as pd
csv = r"""dummy,obj,loc,query
bar,6usrg82hwsa3,a,'select * from abc'
bar,b6usrg82hwsa3,a,'select * from abc'
bar,4g9cgbm813czs,a,'select * from abc'
bar,fhf8upax5cxsz,b,'select * from abc'
bar,cnphq355f5rah,b,'select * from abc'
bar,b6usrg82hwsa3,b,'SELECT LIST(HIGHLIGHT, ',') WITHIN GR...'"""
df = pd.read_csv(StringIO(csv), quotechar="'", sep='|')
print (df)
dummy,obj,loc,query
0 bar,6usrg82hwsa3,a,'select * from abc'
1 bar,b6usrg82hwsa3,a,'select * from abc'
2 bar,4g9cgbm813czs,a,'select * from abc'
3 bar,fhf8upax5cxsz,b,'select * from abc'
4 bar,cnphq355f5rah,b,'select * from abc'
5 bar,b6usrg82hwsa3,b,'SELECT LIST(HIGHLIGHT, ',...
</code></pre>
<hr/>
<pre><code>df1 = df.iloc[:, 0].str.split(',', expand=True, n=3).apply(lambda x: x.str.strip("'"))
df1.columns = df.columns[0].split(',')
print (df1)
dummy obj loc query
0 bar 6usrg82hwsa3 a select * from abc
1 bar b6usrg82hwsa3 a select * from abc
2 bar 4g9cgbm813czs a select * from abc
3 bar fhf8upax5cxsz b select * from abc
4 bar cnphq355f5rah b select * from abc
5 bar b6usrg82hwsa3 b SELECT LIST(HIGHLIGHT, ',') WITHIN GR...
</code></pre>