Python中csv模块的用法
2017-01-16 15:24
405 查看
1. 写入并生成csv文件
代码:# coding: utf-8 import csv csvfile = file('csv_test.csv', 'wb') writer = csv.writer(csvfile) writer.writerow(['姓名', '年龄', '电话']) data = [ ('小河', '25', '1234567'), ('小芳', '18', '789456') ] writer.writerows(data) csvfile.close()
wb中的w表示写入模式,b是文件模式
写入一行用writerow
多行用writerows
2. 读取csv文件
代码:# coding: utf-8 import csv csvfile = file('csv_test.csv', 'rb') reader = csv.reader(csvfile) for line in reader: print line csvfile.close()
运行结果:
root@he-desktop:~/python/example# python read_csv.py
[‘\xe5\xa7\x93\xe5\x90\x8d’, ‘\xe5\xb9\xb4\xe9\xbe\x84’, ‘\xe7\x94\xb5\xe8\xaf\x9d’]
[‘\xe5\xb0\x8f\xe6\xb2\xb3’, ‘25’, ‘1234567’]
[‘\xe5\xb0\x8f\xe8\x8a\xb3’, ‘18’, ‘789456’]
3.完整的例子
import csv # dialect是访问csv文件时需要指定的参数之一,用来确定csv文件的数据格式 # 下面这个函数列举系统支持的dialect有哪些,默认值是'excel',用户也可 # 以从Dialect派生一个类,使用该类的实例作为dialect参数。 print csv.list_dialects() def test_writer(): # csv文件必须以二进制方式open with open('eggs.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile) spamwriter.writerow(['Spam'] * 5 + ['Baked Beans']) spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) def test_reader(): with open('eggs.csv', 'rb') as csvfile: spamreader = csv.reader(csvfile) for row in spamreader: print row # sniffer 用来推断csv文件的格式,不是很准确 def test_sniffer(): with open('eggs.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile, delimiter=' ') spamwriter.writerow(['Spam'] * 2 + ['Baked Beans']) spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) # 通常你需要指定与写入者相同的文件格式才能正确的读取数据 with open('eggs.csv', 'rb') as csvfile: spamreader = csv.reader(csvfile, delimiter=' ') for row in spamreader: print ', '.join(row) # 如果不知道文件格式,sniffer就可以派上用场了 with open('eggs.csv', 'rb') as csvfile: # 用sniffer推断文件格式,从而得到dialect dialect = csv.Sniffer().sniff(csvfile.read(1024)) print dialect.delimiter, dialect.quotechar # 文件重新移动到头部 csvfile.seek(0) # 用推断出来的dialect创建reader reader = csv.reader(csvfile, dialect) for row in reader: print ', '.join(row)
相关文章推荐
- Python中的CSV模块基本用法
- python中csv模块的一些简单用法
- Python_使用csv模块解析csv文件
- python之string模块的find用法
- python pipe模块用法
- python-socket模块基本用法收集
- Python 之csv模块
- python中计时工具timeit模块的基本用法
- python 中set模块的用法
- python的schedule 模块用法示例
- 举例说明Python的CSV模块
- Python signal模块包介绍和用法
- python模块:win32com用法详解
- python模块:win32com用法详解
- Python CSV文件处理/读写及With as 用法
- Python_使用csv模块解析csv文件(处理Excel表格)
- python 中的matplotlib.pylot 模块中的plot 用法
- python中的os.path模块用法(一)
- python os模块的主要用法
- python中re模块的用法