热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python教程分享python中csv文件创建、读取及修改等操作实例

1.python中创建新的csv文件(1).使用csv.writer()创建:代码如下:importcsvheaders['学号','姓名'

1. python中创建新的csv文件

(1). 使用csv.writer()创建:

代码如下:

import csv     headers = ['学号','姓名','分数']  rows = [('202001','张三','98'),          ('202002','李四','95'),          ('202003','王五','92')]  with open('score.csv','w',encoding='utf8',newline='') as f :      writer = csv.writer(f)      writer.writerow(headers)      writer.writerows(rows)

会在相同路径下生成一个score.csv文件 

 vscode中打开如下:

python中csv文件创建、读取及修改等操作实例

 用excel打开如下:

python中csv文件创建、读取及修改等操作实例

可以发现,逗号','在csv文件中代表换格。除此以外,还有'n'在csv文件中代表换行。 

(2). 使用csv.dictwriter()创建:

代码如下:

import csv     headers = ['学号','姓名','分数']  rows = [{'学号':'202001','姓名':'张三','分数':'98'},          {'学号':'202002','姓名':'李四','分数':'95'},          {'学号':'202003','姓名':'王五','分数':'92'}]  with open('score.csv','w',encoding='utf8',newline='') as f :      writer = csv.dictwriter(f,headers)      writer.writeheader()      writer.writerows(rows)

会发现结果和方式1相同。

(3). 使用writelines()创建:

import csv     headers = ['学号,姓名,分数','n']  csv = ['202001,张三,98','n',          '202002,李四,95','n',          '202003,王五,92']  with open('score.csv', 'w',encoding='utf8',newline='') as f:      f.writelines(headers) # write() argument must be str, not tuple      f.writelines(csv)

会发现结果和方式1、方式2相同。 

 综合上述三种方式,csv文件的创建灵活多样,主要依赖于自己创建的原来数据的存放形式,比如方式1、2中的rows和方式3中的csv,以此选择适合的创建csv文件的函数和方式。

实际示例(要灵活使用','、'n'、append()等):

csv = []  for line in lines:      scores = result[line[0]]      for wav, scores in scores.items():          # csv.append(line[0])          # csv.append(wav)          # csv.append(str(i) for i in scores)          # csv.append('n')          #csv.append(','.join([wav] + [str(i) for i in scores] + 'n'))          csv.append(line[0] +','+ wav )          for i in scores:              csv.append(','+ str(i))          csv.append('n')  with open('task3-result.csv', 'w') as f:      f.writelines(csv)

2. python中读取csv文件

原score.csv文件在excel中打开如下:

python中csv文件创建、读取及修改等操作实例

(1). 使用pandas.read_csv()读取

代码如下: 

import pandas as pd      my_matrix = pd.read_csv('score.csv')#,header=none,index_col=none)  '''  header : int or list of ints, default ‘infer',指定行数用来作为列名,数据开始行数。如果文件中没有列名,则默认为0,  index_col : int or sequence or false, default none,用作行索引的列编号或者列名  '''  print(my_matrix)  print(my_matrix.shape)

此时的输出结果为:

python中csv文件创建、读取及修改等操作实例

若代码参数改为:

my_matrix = pd.read_csv('score.csv',header=none,index_col=none)

结果如下:

python中csv文件创建、读取及修改等操作实例

若代码参数改为:

my_matrix = pd.read_csv('score.csv',header=0,index_col=0)

结果如下:

python中csv文件创建、读取及修改等操作实例

为了方便后续分析,可以将数据类型改为np.array型,代码如下:

import pandas as pd   import numpy as np     my_matrix = pd.read_csv('score.csv')#,header=0,index_col=0)  my_matrix = np.array(my_matrix)  print(my_matrix)  print(my_matrix.shape)  print(my_matrix[0][0])

结果如下:

python中csv文件创建、读取及修改等操作实例

 (2). 使用csv.reader()进行读取

代码如下:

import csv  #读取csv文件  with open('score.csv', "r",encoding='utf8',newline='') as f:  	reader = csv.reader(f)  	for row in reader:  		print(row)

结果如下:

python中csv文件创建、读取及修改等操作实例

如果想获取某一列,可以通过指定的列标号来查询,代码如下:

for row in reader:      print(row[0])

可以输出某一指定的列 ,结果如下:

python中csv文件创建、读取及修改等操作实例

 (3). 使用csv.dictreader()进行读取

代码如下:

import csv  #读取csv文件  with open('score.csv', "r",encoding='utf8',newline='') as f:  	reader = csv.dictreader(f)  	for row in reader:  		print(row)

结果如下:

python中csv文件创建、读取及修改等操作实例

如果想获取某一列,可以通过指定的标题来查询,代码如下:

for row in reader:  	print(row['学号'])

可以输出指定的某一列,结果如下:

python中csv文件创建、读取及修改等操作实例

总结

到此这篇关于python中csv文件创建、读取及修改等操作的文章就介绍到这了,更多相关python csv文件创建读取及修改内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!

需要了解更多python教程分享python中csv文件创建、读取及修改等操作实例,都可以关注python教程分享栏目&#8212;编程笔记


推荐阅读
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • java drools5_Java Drools5.1 规则流基础【示例】(中)
    五、规则文件及规则流EduInfoRule.drl:packagemyrules;importsample.Employ;ruleBachelorruleflow-group ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 从批量eml文件中提取附件的Python代码实现方法
    本文介绍了使用Python代码从批量eml文件中提取附件的实现方法,包括获取eml附件信息、递归文件夹下所有文件、创建目的文件夹等步骤。通过该方法可以方便地提取eml文件中的附件,并保存到指定的文件夹中。 ... [详细]
  • 基于分布式锁的防止重复请求解决方案
    一、前言关于重复请求,指的是我们服务端接收到很短的时间内的多个相同内容的重复请求。而这样的重复请求如果是幂等的(每次请求的结果都相同,如查 ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • UNIX高级环境编程 第11、12章 线程及其属性
    第11章线程11.2线程概念线程资源:线程ID,一组寄存器,栈,调度优先级和策略,信号屏蔽字,e ... [详细]
  • 1关于字符串相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起:str_catpython!str_cat输出:python!把很长 ... [详细]
author-avatar
别被风景迷了眼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有