CSV模块
delimiter: 分隔符
quotechar: 如果某个item中包含了分隔符,用quotechar包裹
doublequote: quotechar double 一下用来做区分
escapechar: 如果不用 doublequote 的方法还可以用 escapechar 来辅助
lineterminator: 每一行的结束符,默认的是 \r\n
quoting: 可以选择任何时候都使用 quotechar 来包裹内容,或者是需要用到的时候再用,或者不用
skipinitialspace: 是否忽略分隔符后面跟着的空格
csv.reader()
接收一个可迭代的对象(比如csv文件),返回一个生成器,可以从其中解析出csv的内容
csv.DictReader()
DictReader,接收一个可迭代的对象,返回一个生成器,返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。
csv.writer()
# 读
with open(filepath,mode='r',encoding='utf-8',newline='') as f:
#此处读取到的数据是将每行数据当做列表返回的
reader = csv.reader(f)
rows = [row for row in reader]
# 词典读入
dict_reader = csv.DictReader(data)
# 写
with open('eggs.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
reader = csv.reader(f) 此时reader返回的值是csv文件中每行的列表,将每行读取的值作为列表返回
reader(生成器)里面的东西只会读一次,读过后就删掉,是为了内存考虑。
dialect
注册(csv.register_dialect )、列出所有的(csv.list_dialects)、获取某个(csv.get_dialect)