<p>@OsmosisJonesLoL的方式很棒,但还有另一种选择。您可以使用<a href="https://docs.python.org/3/library/csv.html" rel="nofollow noreferrer">csv module</a>打开一个.csv文件,然后迭代每一行并对前两列进行切片,然后打印它</p>
<pre><code>import csv
DOCUMENT = 'file.csv'
def generate_arrays(document):
file = csv.reader(open(document), delimiter=',')
for row in file:
print(row[:2])
generate_arrays(DOCUMENT)
</code></pre>
<p>或者您可以将每个二维数组附加到空列表中</p>
<pre><code>import csv
DOCUMENT = 'file.csv'
def generate_arrays(document):
arrays = []
file = csv.reader(open(document), delimiter=',')
for row in file:
arrays.append(row[:2])
return arrays
print(generate_arrays(DOCUMENT))
</code></pre>
<p>关于这段代码,你已经发布了。我不太明白<code>theData</code>和<code>numbers</code>是从哪里来的?我想应该是同一个变量。代码实际上应该返回最后一行,而不是第一行。
要返回每个二维数组,需要先将每一行附加到空数组,然后返回它。实际上,这里不需要使用numpy<code>array</code>方法</p>
<p>还要小心使用<code>open</code>方法,因为您需要在处理完文件后显式关闭它。所以使用with语句更方便。它确保在我们读取完文件内容后关闭文件。
注意<code>line_slices[:2]</code>等于<code>[line_slices[0], line_slices[1]]</code></p>
<pre><code>DOCUMENT = 'file.csv'
def generate_arrays(document):
array = []
with open(document) as file:
for line in file:
line_slices = line.split(",")
array.append(line_slices[:2])
return array
print(generate_arrays(DOCUMENT))
</code></pre>