zoukankan      html  css  js  c++  java
  • csv文件的读取和写入

    # -*- coding: utf-8 -*-
    
    import csv
    
    # 写入列表
    headers = ["index", "a_name", "b_name"]
    values = [[1, 'a', 'b'], [2, 'c', 'd'], [3, 'e', 'f']]
    # 1. values 可迭代,list,tuple
    # 2. 若结果中出现间隔空行,就加newline='' or 'w'-->'wb+'
    with open('listdemo.csv', 'w', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(headers)
        writer.writerows(values)
    
    # 写入字典
    headers = ['class', 'name', 'sex', 'height', 'year']
    values = [{'class': 1, 'name': 'xiaoming', 'sex': 'male', 'height': 168, 'year': 23},
              {'class': 1, 'name': 'xiaohong', 'sex': 'female', 'height': 162, 'year': 22}]
    #  若结果中出现间隔空行,就加newline='' or 'w'-->'wb+'
    with open('dictdemo.csv', 'w', newline='') as f:
        f_csv = csv.DictWriter(f, headers)
        f_csv.writeheader()
        f_csv.writerows(values)
    
    # 读取
    # 按照列表形式取值
    # 使用csv库的内置方法reader, 相当于xlrd读取excel,当然更方便了
    with open("listdemo.csv", "r") as f:
        reader = csv.reader(f)     # reder是一个迭代器
        next(reader)               # 跳过表头/可选择不跳过
        for line in reader:
            print(line)
    
    # 按照字典形式取值
    with open("dictdemo.csv", "r") as f:
        reader = csv.DictReader(f)
        for line in reader:
            print(line, ' --- ', type(line))
            print({'name':line['name'], 'sex': line['sex']})
    
  • 相关阅读:
    优秀的 Java 项目,代码都是如何分层的?
    计算机应届生月薪大多是多少?
    零基础要怎么学JAVA?
    自学 Java 怎么入门?
    Java学习路线总结,已Get腾讯Offer
    java培训出来的如何找工作?
    离散数学学习笔记
    一些公式
    一个模拟
    秦皇岛wannafly[数论]学习笔记
  • 原文地址:https://www.cnblogs.com/hui-code/p/14095460.html
Copyright © 2011-2022 走看看