csv

# CSV即逗号分隔值Comma-Separated Values
# 它是一个被行分隔符、列分隔符划分成行和列的文本文件
# CSV 不指定字符编码
# 每一行称为一条记录record
# 表头可选,和字段列对齐就行了
# 分隔符
# # 行分隔符为\r\n,最后一行可以没有换行符
# # 列分隔符常为逗号或者制表符
# # 字段
# # 字段可以使用双引号括起来,也可以不使用
# # 如果字段中出现了双引号、逗号、换行符必须使用双引号括起来
# # 如果字段的值是双引号,使用两个双引号表示一个转义
# csv 模块
# csv.reader(csvfile, dialect='excel', **fmtparams) 返回reader对象,是一个行迭代器。
# 默认使用excel方言,如下:
# delimiter 列分隔符 , 逗号
# lineterminator 行分隔符 \r\n
# quotechar 字段的引用符号,缺省为 " 双引号
# 双引号的处理
# doublequote 双引号的处理,默认为True。如果碰到数据中有双引号,而quotechar也是双
# 引号,True则使用2个双引号表示,False表示使用转义字符将作为双引号的前缀
# escapechar 一个转义字符,默认为None
# writer = csv.writer(f, doublequote=False, escapechar='@') 遇到双引号,则必须提供转义字
# 符
# quoting 指定双引号的规则
# QUOTE_ALL 所有字段
# QUOTE_MINIMAL特殊字符字段,Excel方言使用该规则
# QUOTE_NONNUMERIC非数字字段
# QUOTE_NONE都不使用引号。
# csv.writer(csvfile, dialect='excel', **fmtparams) 返回DictWriter的实例。
# 主要方法有单行writerow、多行writerows。
import csv
rows = [
('id', 'name', 'age', 'comment'),
[1, 'tom', 20, 'tom'],
(2, 'jerry', 18, 'jerry'),
(3, 'justin', 22, 'just\t"in'),
"abcdefgh",
((1,), 2, [3])
]
# ###打开文件,将内容转换为字符串
# with open('d:/t1.csv','w',newline='') as f:# newline='' 换行符,不然会多一行空格
# for line in rows:
# # fp.write(",".join(map(str,line)) + '\r\n')
# print(",".join(map(str,line)),file=f,end='\r\n')
# with open('d:/t1.csv','r',newline='') as f:
# reader=csv.reader(f)
# x = next(reader)
# print(type(x),x)

# with open('d:/t1.csv','r',newline='') as f:
# reader=csv.reader(f)
# print(type(reader))
# for line in reader:
# print(line)

with open('d:/t2.csv','w',newline='') as f:
writer=csv.writer(f)#dialect方言,默认是excel方言
writer.writerow(rows[0])
writer.writerows(rows[1:]) #序列全部取

posted @ 2022-09-19 11:22  红丿领巾  阅读(184)  评论(0)    收藏  举报