zoukankan      html  css  js  c++  java
  • [Python Study Notes]csv文件操作

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    >>文件: csv文件操作.py
    >>作者: liu yang
    >>邮箱: liuyang0001@outlook.com
    >>博客: www.cnblogs.com/liu66blog
    
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import sys, os
    import csv
    
    data_list = 
        [
            ['name', 'age'],
            ['施名阳', 24],
            ['宋长武', 23],
            ['马云伟', 23],
        ]
    
    # 写csv文件,加入newline='',防止每次都写入新行
    with open('待写入csv文件.csv', 'w+', newline='', encoding='utf-8') as fp:
        csv_fp_write = csv.writer(fp)
        # 按行写入
        # for row in data_list:
        #     csv_fp_write.writerow(row)
    
        # 一次写入多行
        csv_fp_write.writerows(data_list)
    
    # 使用csv.reader读文件
    with open('待写入csv文件.csv', 'r', newline='', encoding='utf-8') as fp:
        csv_fp_read = csv.reader(fp)
        csv_list = list(csv_fp_read)
        print(csv_list)
    
    ######################################################################################
    ######################################################################################
    
    data_dict = 
        [
            {'name': '施名阳', 'age': 24},
            {'name': '宋长武', 'age': 23},
            {'name': '马云伟', 'age': 23},
        ]
    
    # 使用csv.DictWriter写文件
    with open('待写入csv文件.csv', 'w+', newline='', encoding='utf-8') as fp:
        headers = ['name', 'age']
        csv_fp_write_dict = csv.DictWriter(fp, headers)
        csv_fp_write_dict.writeheader()
        # 按照行写入
        # for data in data_dict:
        #     csv_fp_write_dict.writerow(data)
    
        # 一次写入多行
        csv_fp_write_dict.writerows(data_dict)
    
    
    # 使用csv.DictReader读取文件
    with open('待写入csv文件.csv', 'r+', newline='', encoding='utf-8') as fp:
        # 按照字典一次性读取
        csv_fp_read_dict = csv.DictReader(fp)
        # 取得字典key值
        headers = csv_fp_read_dict.fieldnames
        print(headers)
        # 将可迭代列表化
        csv_fp_read_dict_list = list(csv_fp_read_dict)
        print(csv_fp_read_dict_list)
        # 定义一个空列表,用来存储字典列表
        csv_dict_list = []
        # 魂环读取到的列表,将其包装成字典,append到列表
        for csv_line in csv_fp_read_dict_list:
            csv_dict_list.append({headers[0]: csv_line[headers[0]], headers[1]: csv_line[headers[1]]})
        print(csv_dict_list)
    

    image

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/liu66blog/p/8470038.html
Copyright © 2011-2022 走看看