擅长:python、mysql、java
<p>以前的答案是正确的,但是在我看来,一个额外的<code>names</code>参数将使它更加完美,而且应该是推荐的方法,特别是当csv没有<code>headers</code>时。</p>
<h2>解决方案</h2>
<h3>使用<code>usecols</code>和<code>names</code>参数</h3>
<pre><code>df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'])
</code></pre>
<h2>附加读数</h2>
<p>或者使用<code>header=None</code>显式地告诉人们<code>csv</code>没有标题(不管怎样,这两行都是相同的</strong>)</p>
<pre><code>df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'], header=None)
</code></pre>
<p>这样你就可以通过</p>
<pre><code># with `names` parameter
df['colA']
df['colB']
</code></pre>
<p>而不是</p>
<pre><code># without `names` parameter
df[0]
df[1]
</code></pre>
<h3>解释</h3>
<p>基于<a href="https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html" rel="noreferrer">read_csv</a>,当<code>names</code>被显式传递时,那么<code>header</code>的行为将类似于<code>None</code>,而不是<code>0</code>,因此当<code>names</code>存在时可以跳过<code>header=None</code>。</p>