'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>文件: 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)

[Python Study Notes]csv文件操作的更多相关文章

  1. python在处理CSV文件时,字符串和列表写入的区别

    概述 Python在处理CSV文件时,如果writerow的对象是<type 'unicode'>字符串时,写入到CSV文件时将会出现一个字符占一个单元格的情况: 但是将字符串转换为列表类 ...

  2. java csv 文件 操作类

    一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  3. [Python Study Notes]一个简单的区块链结构(python 2.7)

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  4. [Python Study Notes]pd.read_csv()函数读取csv文件绘图

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  5. [Python Study Notes]文件操作

    文件操作 对文件操作流程 打开文件,可添加filepath打开某绝对路径下的文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 # The_author = 'liu66' # -* ...

  6. 使用Python对Csv文件操作

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,mayi, ...

  7. [Python Study Notes] Basic I\O + File 操作

    列表操作 Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...

  8. Python csv文件操作

    一.open文件打开和with open as 文件打开的区别 file= open("test.txt","r") try: for line in file ...

  9. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

随机推荐

  1. 【NOIP2013 普及组】车站分级

    [NOIP2013 普及组]车站分级 一.题目 [NOIP2013 普及组]车站分级 时间限制: 1 Sec  内存限制: 128 MB 提交: 3  解决: 0 [提交][状态][讨论版] 题目描述 ...

  2. java/jsp: 登录系统

    db类   package db; import java.sql.*; import javax.naming.InitialContext; import javax.sql.DataSource ...

  3. WPF的Presenter(ContentPresenter)

    WPF的Presenter(ContentPresenter) 2010-12-20 14:34 by Clingingboy, 10619 阅读, 3 评论, 收藏, 编辑 这是2年前写了一篇文章 ...

  4. vue-router使用next()跳转到指定路径时会无限循环

    我在路由为 /path 的页面这样写 beforeRouteLeave (to, from, next) { console.log('离开路路由') if(to.fullPath==='/home' ...

  5. 【WPF】推荐一款拖拉缩放控件的DEMO

    引言 在CodeProject上有个实现了控件拖拉缩放的DEMO,界面很漂亮,里面对Thumb和Adorner运用得很精彩.我觉得,使用WPF的开发者都可以去学习一下.下面放出链接. WPF Diag ...

  6. SpringBoot_07_Springboot test 使用mockito进行web测试

    一.前言 使用mockito测试框架可以方便的进行web测试 二.用法实例 package com.ray.weixin.qy.controller; import com.ray.weixin.qy ...

  7. java关键字---final和transient

    首先,说说final. final关键字可以修饰变量,方法,类.    final变量:         需求:             1 需要一个永不改变的编译时常量             2 ...

  8. UVALive 3971 Assemble(二分+贪心)

    本题思路不难,但是要快速准确的AC有点儿考验代码功力. 看了大白书上的标程,大有所获. 用map和vector的结合给输入分组,这个数据结构的使用非常精美,恰到好处. #include<iost ...

  9. php实现二叉树的遍历

  10. url参数的编码解码Demo

    为了保证在页面传递数据的安全性,我们通常会对Url传递的参数进行编码解码操作.我们写一个Demo剖析URL编码解码过程. 完整Demo下载地址 1. Url参数如何在服务端进行编码和解码. 1.1 U ...