回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p><strong>数据</strong>:</p>
<pre><code>from io import StringIO
import pandas as pd
s = '''ID,Level,QID,Text,ResponseID,responseText,date_key,last
375280046,S,D3M,Which is your favorite?,D5M0,option 1,2012-08-08 00:00:00,ynot
375280046,S,D3M,How often? (at home, at work, other),D3M0,Work,2010-03-31 00:00:00,okkk
375280046,M,A78,Do you prefer a, b, or c?,A78C,a,2010-03-31 00:00:00,abc
376918925,M,A78,Which ONE (select only one),A78E,Milk,2004-02-02 00:00:00,launch Wed., '''
df = pd.read_csv(StringIO(s), sep=r',(?!\s)')
</code></pre>
<p><strong>问题</strong>:我问了一个问题<a href="https://stackoverflow.com/questions/44786415/read-csv-with-extra-commas-and-no-quotechar-with-pandas">here</a>。但我遇到了一个新问题。注意最后一行的末尾是一个逗号和一个空格。<code>sep=r',(?!\s)'</code>中的正则表达式应该忽略后跟空格的逗号。在</p>
<p><strong>问题</strong>:有没有一种方法可以将最后一列按字面上的<code>launch Wed.,</code>来读,其中逗号不是分隔符/分隔符,而是<code>last</code>列文本中的逗号-只使用<code>pd.read_csv</code>?在</p>
<p><strong>错误</strong>:</p>
^{pr2}$
<p><strong>预期/期望输出</strong>:</p>
<pre><code> ID Level QID Text ResponseID \
0 375280046 S D3M Which is your favorite? D5M0
1 375280046 S D3M How often? (at home, at work, other) D3M0
2 375280046 M A78 Do you prefer a, b, or c? A78C
3 376918925 M A78 Which ONE (select only one) A78E
responseText date_key last
0 option 1 2012-08-08 00:00:00 ynot
1 Work 2010-03-31 00:00:00 okkk
2 a 2010-03-31 00:00:00 abc
3 Milk 2004-02-02 00:00:00 launch Wed.,
</code></pre>