天天看点

Python读写CSV文件

csv模块方法

csv.reader

1

2

3

4

5

<code>import</code> <code>csv   </code>

<code>with </code><code>open</code><code>(</code><code>'temp.csv'</code><code>,</code><code>'rb'</code><code>) as f:    </code>

<code>    </code><code>reader </code><code>=</code> <code>csv.reader(f)    </code>

<code>    </code><code>for</code> <code>row </code><code>in</code> <code>reader:    </code>

<code>        </code><code>print</code> <code>row</code>

csv.writer

<code>with </code><code>open</code><code>(</code><code>'temp.csv'</code><code>,</code><code>'wb'</code><code>) as f:    </code>

<code>    </code><code>writer </code><code>=</code> <code>csv.writer(f)    </code>

<code>    </code><code>writer.writerow([</code><code>'a'</code><code>,</code><code>'b'</code><code>,</code><code>'c'</code><code>])    </code>

<code>    </code><code>writer.writerow([</code><code>'d'</code><code>,</code><code>'e'</code><code>,</code><code>'f'</code><code>])</code>

csv模块类

csv.DictReader

<code>with </code><code>open</code><code>(</code><code>'temp.csv'</code><code>) as f:    </code>

<code>    </code><code>reader </code><code>=</code> <code>csv.DictReader(f)    </code>

<code>    </code><code>for</code> <code>row </code><code>in</code> <code>reader    </code>

<code>        </code><code>print</code><code>(row[</code><code>'first_name'</code><code>],row[</code><code>'last_name'</code><code>])</code>

csv.DictWriter

6

7

8

<code>import</code> <code>csv</code>

<code>with </code><code>open</code><code>(</code><code>'temp.csv'</code><code>,</code><code>'w'</code><code>) as f:</code>

<code>    </code><code>fieldnames </code><code>=</code> <code>[</code><code>'first_name'</code><code>,</code><code>'last_name'</code><code>]</code>

<code>    </code><code>writer </code><code>=</code> <code>csv.DictWriter(f, fieldnames</code><code>=</code><code>fieldnames)</code>

<code>    </code> 

<code>    </code><code>writer.writeheader()</code>

<code>    </code><code>writer.writerow({</code><code>'first_name'</code><code>:</code><code>'ryan'</code><code>, </code><code>'last_name'</code><code>:</code><code>'xu'</code><code>})</code>

<code>    </code><code>writer.writerow({</code><code>'first_name'</code><code>:</code><code>'koko'</code><code>, </code><code>'last_name'</code><code>:</code><code>'xu'</code><code>})</code>

csv模块异常

csv.Error

9

<code>import</code> <code>csv, sys   </code>

<code>filename </code><code>=</code> <code>'some.csv'</code>    

<code>with </code><code>open</code><code>(filename, </code><code>'rb'</code><code>) as f:    </code>

<code>    </code><code>try</code><code>:    </code>

<code>        </code><code>for</code> <code>row </code><code>in</code> <code>reader:    </code>

<code>            </code><code>print</code> <code>row    </code>

<code>    </code><code>except</code> <code>csv.Error as e:    </code>

<code>        </code><code>sys.exit(</code><code>'file %s, line %d: %s'</code> <code>%</code> <code>(filename, reader.line_num, e))</code>

读对象(DictReader实例和reader()函数返回的对象)公共方法

<code>csvreader.</code><code>next</code><code>()   </code>

<code>csvreader.line_num    </code>

<code>csvreader.fieldnames</code>

写对象(DictWriter实例和writer()函数返回的对象)公共方法

<code>csvwriter.writerow(row)   </code>

<code>csvwriter.writerows(rows)    </code>

<code>csvwriter.writeheader()</code>

<code></code>

本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1704615 ,如需转载请自行联系原作者