码迷,mamicode.com
首页 > 其他好文 > 详细

CSV文件储存

时间:2018-06-18 11:00:26      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:span   size   实例   data   文本   指定   name   div   字符   

CSV文件储存

  CSV,全称为 Comma-Separated Vaules,翻译为逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔。每条记录由字段组成,字段之间的分隔符是字符串或其他字符,最常见的是逗号或制表符。不过所有记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。它比Excel文件更加简洁,XLS文本是电子表格,它包含了文本、数值、公式和格式等内容,而CSV中不包含这些内容,就是特定字符分隔的纯文本,结构简单清晰。下面用一个简单的实例来介绍CSV:

import csv

with open(data.csv,w) as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow([id,name,age])
    writer.writerow([1001,jonas,18])
    writer.writerow([1002,jerry,17])
    writer.writerow([1003,tom,16])

首先,打开data.csv文件,然后指定打开的模式为w,获得文件句柄,随后调用csv库的writer()方法初始化写入对象,传入该句柄,然后调用writerow()方法传入每行的数据即可完成写入。然后通过文本形式直接打开data.csv会发现,刚才写入的数据都是通过逗号分隔开的,当然,在写入的时候也可以修改这个分隔符:

import csv

with open(data.csv,w) as csvfile:
    writer = csv.writer(csvfile,delimiter= )
    writer.writerow([id,name,age])
    writer.writerow([1001,jonas,18])
    writer.writerow([1002,jerry,17])
    writer.writerow([1003,tom,16])

上面这里指定空格为分隔符。另外,还可以通过调用writerows()方法同时写入多行,此时参数就需要为二维列表:

 

import csv

with open(data.csv,w) as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow([id,name,age])
    writer.writerows([[1001,jonas,18],[1002,jerry,17],[1003,tom,16]])

 

除此以外,csv库还提供了字典的写入方式:

import csv

with open(data.csv,w) as csvfile:
    fieldnames = [id,name,age]
    writer = csv.DictWriter(csvfile,fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({id:1001,name:jonas,age:18})
    writer.writerow({id:1002,name:jerry,age:20})

先定义3个字段,用fieldnames表示,然后将其传给DictWriter来初始化一个字典写入对象,接着可以调用writeheader()方法先写入头信息,然后再调用writerow()方法传入相应字典。

 

除了上面介绍的写入信息,还可以通过csv库来读取.csv的文件:

import csv

with open(data.csv,r,encoding=utf-8) as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

通过遍历输出的每行结果都是一个列表。

CSV文件储存

标签:span   size   实例   data   文本   指定   name   div   字符   

原文地址:https://www.cnblogs.com/jonas-von/p/9192813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!