python读取csv文件
<p>在python里面,读取或写入csv文件时,首先要import csv这个库,然后利用这个库提供的方法进行对文件的读写。</p><p> </p>
<p><strong>0x01:获取每一行</strong></p>
<p>读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某一列。代码如下:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> csv
</span><span style="color: rgba(0, 128, 128, 1)">2</span> with open(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">data.csv</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">r</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">) as f:
</span><span style="color: rgba(0, 128, 128, 1)">3</span> reader =<span style="color: rgba(0, 0, 0, 1)"> csv.reader(f)
</span><span style="color: rgba(0, 128, 128, 1)">4</span> <span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(type(reader))
</span><span style="color: rgba(0, 128, 128, 1)">5</span>
<span style="color: rgba(0, 128, 128, 1)">6</span> <span style="color: rgba(0, 0, 255, 1)">for</span> row <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> reader:
</span><span style="color: rgba(0, 128, 128, 1)">7</span> <span style="color: rgba(0, 0, 255, 1)">print</span>(row)</pre>
</div>
<p>以列表的形式输出每一行,如下:</p>
<p><img src="https://img2018.cnblogs.com/blog/1528193/201907/1528193-20190730190757814-348344243.png" alt=""></p>
<p><strong>0x02:获取某一行</strong></p>
<p>如果你只想要其中的一行,可以先对reader进行一个类型转换,用list函数把它转换成列表,然后对对列表进行取元素,就可以获取到某一行的内容了,如下:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> csv
</span><span style="color: rgba(0, 128, 128, 1)">2</span> with open(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">data.csv</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">r</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">) as f:
</span><span style="color: rgba(0, 128, 128, 1)">3</span> reader =<span style="color: rgba(0, 0, 0, 1)"> csv.reader(f)
</span><span style="color: rgba(0, 128, 128, 1)">4</span> result =<span style="color: rgba(0, 0, 0, 1)"> list(reader)
</span><span style="color: rgba(0, 128, 128, 1)">5</span> <span style="color: rgba(0, 0, 255, 1)">print</span>(result)</pre>
</div>
<p>这里,我们获取的是第二行的内容,与上面的第二行的内容相同。</p>
<p><img src="https://img2018.cnblogs.com/blog/1528193/201907/1528193-20190730191204862-882007278.png" alt=""></p>
<p><strong>0x03:获取某一列</strong></p>
<p>如果想要获取到其中一列的内容,可以在第一种情况下,对输出加一个下标,这样输出的就是某一列的内容的。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">import</span><span style="color: rgba(0, 0, 0, 1)"> csv
</span><span style="color: rgba(0, 128, 128, 1)">2</span> with open(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">data.csv</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">r</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">) as f:
</span><span style="color: rgba(0, 128, 128, 1)">3</span> reader =<span style="color: rgba(0, 0, 0, 1)"> csv.reader(f)
</span><span style="color: rgba(0, 128, 128, 1)">4</span> <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> reader:
</span><span style="color: rgba(0, 128, 128, 1)">5</span> <span style="color: rgba(0, 0, 255, 1)">print</span>(i)</pre>
</div>
<p>这里,获取第一列的内容,与第一次输出结果相同</p>
<p><img src="https://img2018.cnblogs.com/blog/1528193/201907/1528193-20190730191608430-432119128.png" alt=""></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/liangshian/p/11272155.html
頁:
[1]