csv, pprint,gb18030
读取csv文件
import csv
1. with open('d:/zl.csv', 'w') as f:
# 创建一个my对象
my = csv.writer(f)
# writerow一行一行的写入
my.writerow([7,'g'])
lis = [[1,2,3],[4,5,6]]
# writerows一次写入多行
my.writerows(lis)
text = [
['名字','python,小黑',],
['分数',100]
]
2. # 代码中的newline参数很重要,在写入时,
# 如果没有指定newline='',则会出现空行,因为写入时在'\r\n'前加入了'\r'。
with open('d:/zl.csv', 'w', newline='') as f:
writer = csv.writer(f)
for i in text:
writer.writerow(i)
with open('d:/zl.csv', 'r', newline='') as f:
reader = csv.reader(f)
print(type(reader))
for i in reader:
print(i)
事实上,这里的分隔符逗号和引用符双引号都可以自定义,下面的代码
中将分隔符设为冒号,引用符设为%:
text = [
['名字','python,小黑'],
['分数',100]
]
with open('d:/zl.csv', 'w', newline='') as f:
writer = csv.writer(f, delimiter=':',quotechar='%')
for i in text:
writer.writerow(i)
with open('d:/zl.csv', 'r', newline='') as f:
reader = csv.reader(f, delimiter=':',quotechar='%')
print(type(reader))
for i in reader:
print(i)
3.csv模块还提供了DictReader类和DictWriter类,用于按字典方式读取或写入csv文件
with open('d:/zl.csv', 'w', newline='') as f:
keys = ['name','score']
# 创建字典作者对象
writer = csv.DictWriter(f,fieldnames=keys)
# 写入,自动把第一行单元格作为键
writer.writeheader()
# 对照第一行的键来添加值
writer.writerows([
{'name':'jack','score':100},
{'name':'tom', 'score':99},
])
with open('d:/zl.csv', 'r', newline='') as f:
reader = csv.DictReader(f)
for row in reader:
print([row['name'], row['score']])
if __name__ == '__main__':
s = {
'job': 'job_name',
'website': 'item[1]',
'company': 'item[2]',
'salary': 'item[3]',
}
for i in s:
print(i)
import csv import os import pprint DATADIR = r"d:/" DATAFILE = r"zl_ss.csv" def parseFile(path): data = []
n = 0 with open(path, "rb") as f: r = csv.DictReader(f) -----读出来是有序字典
for line in r: print (line) data.append(line) return data
使用 pprint 模块 pprint 模块( pretty printer ) 用于打印 Python 数据结构. 当你在命令行下打印特定数据结构时你会发现它很有用(输出格式比较整齐, 便于阅读). [python] view plain copy import pprint data = ( "this is a string", [1, 2, 3, 4], ("more tuples", 1.0, 2.3, 4.5), "this is yet another string" ) pprint.pprint(data)
GB18030GB 18030,全称:国家标准 GB 18030-2005《信息技术中文编码字符集》,是中华人民共和国现时最新的内码字集,是 GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》的修订版。GB 18030 与 GB 2312-1980 和 GBK 兼容,共收录汉字70244个。与 UTF-8 相同,采用多字节编码,每个字可以由 1 个、2 个或 4 个字节组成。编码空间庞大,最多可定义 161 万个字符。支持中国国内少数民族的文字,不需要动用造字区。汉字收录范围包含繁体汉字以及日韩汉字 作者:知乎用户 链接:https://www.zhihu.com/question/19677619/answer/12616362 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。