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中用split()方法分割字符串的使用介绍
May 20 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
python导入时小括号大作用
Jan 10 Python
python读取文件名称生成list的方法
Apr 27 Python
使用Python处理BAM的方法
Sep 28 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
python中p-value的实现方式
Dec 16 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 Python
Python虚拟环境的创建和使用详解
Sep 07 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
Apache设置虚拟WEB
2006/10/09 PHP
PHP 强制下载文件代码
2010/10/24 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
php截取字符串函数分享
2015/02/02 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
用Python解决计数原理问题的方法
2016/08/04 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
python3 线性回归验证方法
2019/07/09 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
纽约手袋品牌:KARA
2018/03/18 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
艺术教育实施方案
2014/05/03 职场文书
七夕情人节促销方案
2014/06/07 职场文书
2015年安全生产责任书
2015/01/30 职场文书
人力资源部岗位职责
2015/02/11 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
2015感人爱情寄语
2015/02/26 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
python基于opencv批量生成验证码的示例
2021/04/28 Python