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
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

posted @ 2018-06-02 15:56  liang哥哥  阅读(207)  评论(0)    收藏  举报