python3读取csv文件任意行列代码实例


Posted in Python onJanuary 13, 2020

这篇文章主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

读取每一行

reader = csv.reader(f) 此时reader返回的值是csv文件中每行的列表,将每行读取的值作为列表返回

#读取每一行
filename='D:\\file_information1.csv'
import csv

with open(filename,newline = '',encoding = 'utf-8') as f:   #参数encoding = 'utf-8'防止出现乱码
  reader = csv.reader(f)   #使用csv的reader()方法,创建一个reader对象 csv.reader()读取结果是列表
  for row in reader: #遍历reader对象的每一行
    print(row)

如何往csv格式文件写入数据

1.write()函数写入文本文件的也是字符串类型。

2.在'w'和'a'模式下,如果你打开的文件不存在,那么open()函数会自动帮你创建一个

3.'w'写入模式会给你暴力清空掉文件,然后再给你写入。如果你只想增加东西,而不想完全覆盖掉原文件的话,就要使用'a'模式,表示append,你学过,它是追加的意思。

file1 = open('D:\\new\\abc.txt','a',encoding='utf-8')
file1.write('张无忌\n')
file1.write('宋青书\n')
file1.close()

enumerate()

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标 ,一般用在 for 循环当

以下是 enumerate() 方法的语法: enumerate(sequence, [start=0])

  • sequence -- 一个序列、迭代器或其他支持迭代对象。
  • start -- 下标起始位置。

返回 enumerate(枚举) 对象

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
print(list(enumerate(seasons)))       # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
print(list(enumerate(seasons, start=1)) ) # [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
# 普通for循环:
i = 0
seq = ['one', 'two', 'three']
for element in seq:
  print( i, seq[i])
  i +=1
'''
one
two
three
'''
# for 循环使用 enumerate
seq1 = ['one', 'two', 'three']
for j, element in enumerate(seq1):
  print (j, element)
'''
one
two
three
'''

获取文件的编码方式

import chardet
def get_file_code(file_path):
  with open(file_path, 'rb') as f:
    data = f.read()
    print('获取到的CSV文件编码为:%s' % (chardet.detect(data)['encoding']))
    return chardet.detect(data)['encoding']

file_path = r'D:\\file_information1.csv'
get_file_code(file_path)

判断文件的编码方式

f = open("D:\\file_information1.csv","rb")#二进制格式读文件
i = 0
while True:
  print(i)
  line = f.readline()
  if not line:
    break
  else:
    try:
#       print(line)
#       print(line.decode('utf8'))
      line.decode('utf8')
      #为了暴露出错误,最好此处不print
    except:
      print(str(line))
  i += 1

读取首行

filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f: #自行先判断文件的编码方式
  read=f.readlines()
  for index,info in enumerate(read):
    if index ==0:  #这里判断
      #这里输出的是字符串类型
      print(info)

读取首行之外的所有行

filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=f.readlines()
  for index,info in enumerate(read):
    if index !=0:  #这里判断
      print(info)

读取前10行

filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=f.readlines()
  for index,info in enumerate(read):
    if index <10: #这里为索引,是 int 整形
      print(index,info)

读取任意行,可根据index索引

import csv
filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=f.readlines()
  for index,info in enumerate(read):
    print(index) #自己根据index的数字判断

读取第一和第二列

import csv
filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=csv.reader(f)
  for index,info in enumerate(read):
      #这里输出的是列表类型
      print(info[:2])  #[:2]代表的是读取第0列和第1列 ,第2列不包括

读取除首行之外的第一,第二列

import csv
filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=csv.reader(f)
  for index,info in enumerate(read):
    if index!=0:  #这里加判断
      print(info[:2])

读取最后两列

import csv
filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=csv.reader(f)
  for index,info in enumerate(read):
      print(info[-2:])

读第一行的第三列

filename='D:\\file_information1.csv'
with open(filename,'r',encoding='utf-8')as f:
  read=csv.reader(f)
  for index,info in enumerate(read):
    if index==0:
      print(info[2:3])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python  连接字符串(join %)
Sep 06 Python
Python 正则表达式的高级用法
Dec 04 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
Python跳出多重循环的方法示例
Jul 03 Python
Django实现文件上传和下载功能
Oct 06 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
python 使用shutil复制图片的例子
Dec 13 Python
Pytorch 神经网络—自定义数据集上实现教程
Jan 07 Python
python数据分析:关键字提取方式
Feb 24 Python
python关于变量名的基础知识点
Mar 03 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
pytorch程序异常后删除占用的显存操作
Jan 13 #Python
Python跑循环时内存泄露的解决方法
Jan 13 #Python
PyTorch使用cpu加载模型运算方式
Jan 13 #Python
Python如何读取文件中图片格式
Jan 13 #Python
详解python破解zip文件密码的方法
Jan 13 #Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 #Python
python批量处理txt文件的实例代码
Jan 13 #Python
You might like
php实现的SESSION类
2014/12/02 PHP
php调整服务器时间的方法
2015/04/03 PHP
PHP数组操作类实例
2015/07/11 PHP
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
c++工程师面试问题
2013/08/04 面试题
财务出纳岗位职责
2014/02/03 职场文书
消防安全员岗位职责
2014/03/10 职场文书
化工专业求职信
2014/07/01 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
2015年行政部工作总结
2015/04/28 职场文书
丧事答谢词大全
2015/09/30 职场文书