'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>文件: 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. rsync工具

    rsync工具 一.介绍 1.可以实现 本地数据 <----------> 远程数据/本地数据  的传输 2.两种通信方式(man rsync)  (1)remote shell(一个冒号 ...

  2. Python - 批量改变文件名

    import osimport sysimport datetime path = "E:\python_test"datename = '2016-02-11'a = datet ...

  3. 【WPF】DataGrid的Row样式设置

    引言      在与DataGrid相关的项目中,会有一个比较常见的需求.那就是在根据数据设置行的样式,例如行的背景色或者字体色.我们用到的方法有几个,下面一个个说来. 准备工作     介绍方法之前 ...

  4. phpstorm修改html模板

  5. python3中zip()函数的用法

    >>>a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5,6,7,8] >>> zipped = ...

  6. Buffer 和Cache 的区别

    Buffer 和Cache 的区别buffer 与cache 操作的对象就不一样.buffer

  7. PHP提供的数组比较函数总结

    在我们看PHP手册的时候发现,PHP提供了许多数组元素比较的函数,看起来又多又烦又不好记,现在我们来总结一下: sort() — 本函数对数组进行排序,当本函数结束时数组单元将被从最低到最高重新安排. ...

  8. CodeForces - 827A:String Reconstruction (基础并查集)

    Ivan had string s consisting of small English letters. However, his friend Julia decided to make fun ...

  9. C#异步编程(四)混合模式线程同步

    之前讨论了基元用户模式和内核模式线程同步构造.其他所有线程同步构造都基于它们,而且一般都合并了用户模式和内核模式构造,我们称为混合线程同步构造.没有线程竞争时,混合构造提供了基元用户模式构造所具有的性 ...

  10. Too Rich(贪心加搜索)

    个人心得:10月份月赛题目,很low,就过了一道水题而且是把所有猜测都提交才过的.这段时间不知道忙什么去了, 也没怎么刷题感觉自己越来越差,还不如新来的大一学弟呢,别人起码天天刷代码到半夜,比起刚在区 ...