<p>使用列表理解:</p>
<pre><code>def myfunction(somestring):
return [line.split(',') for line in somestring.split('\n')]
</code></pre>
<p>演示:</p>
<pre><code>>>> def myfunction(somestring):
... return [line.split(',') for line in somestring.split('\n')]
...
>>> myfunction("1,2,3\n4,5,6")
[['1', '2', '3'], ['4', '5', '6']]
</code></pre>
<p>或者,您可以使用<a href="http://docs.python.org/2/library/stdtypes.html#str.splitlines" rel="nofollow noreferrer">^{<cd1>}</a>,它的工作方式与<code>.split()</code>类似,但它将拆分<em>任何</em>换行符组合上的数据,即<code>\r</code>、<code>\n</code>或<code>\r\n</code>。它处理最后一行也有点聪明。你知道吗</p>
<p>如果此数据来自文件,请考虑使用正确的工具;<a href="http://docs.python.org/2/library/csv.html" rel="nofollow noreferrer">^{<cd6>} module</a>可以更好地处理逗号分隔数据上引用的复杂情况:</p>
<pre><code>import csv
with open('/your/csv/file.csv', 'rb') as inputfile:
reader = csv.reader(inputfile)
for row in reader:
# row is a list of column values
</code></pre>
<p>数据不必来自文件,<code>csv</code>可以处理任何iterable,包括<code>.splitlines()</code>的结果:</p>
<pre><code>reader = csv.reader(somestring.splitlines())
for row in reader:
# row is a list of column values
</code></pre>