回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>让我们有一个带有行和列标题的CSV表,例如:</p>
<pre class="lang-py prettyprint-override"><code>, "Car", "Bike", "Boat", "Plane", "Shuttle"
"Red", 1, 7, 3, 0, 0
"Green", 5, 0, 0, 0, 0
"Blue", 1, 1, 4, 0, 1
</code></pre>
<p>我想得到行和列标题,即:</p>
<pre><code>col_headers = ["Car", "Bike", "Boat", "Plane", "Shuttle"]
row_headers = ["Red", "Green", "Blue"]
data = [[1, 7, 3, 0, 0],
[5, 0, 0, 0, 0],
[1, 1, 4, 0, 1]]
</code></pre>
<p>我当然可以做些</p>
<pre class="lang-py prettyprint-override"><code>import csv
with open("path/to/file.csv", "r") as f:
csvraw = list(csv.reader(f))
col_headers = csvraw[1][1:]
row_headers = [row[0] for row in csvraw[1:]]
data = [row[1:] for row in csvraw[1:]]
</code></pre>
<p>……但看起来还不够Python。</p>
<p>有没有一种更简洁的方法来进行这种自然操作?</p>