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代码实现
Jan 05 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
Django后台admin的使用详解
Jul 08 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 Python
python属于软件吗
Jun 18 Python
学python最电脑配置有要求么
Jul 05 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
Python实现自动签到脚本的示例代码
Aug 19 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
2021年最新CPU天梯图
2021/03/04 数码科技
自定义PHP分页函数
2006/10/09 PHP
一个PHP日历程序
2006/12/06 PHP
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
php实现每日签到功能
2018/11/29 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
Python3中的2to3转换工具使用示例
2015/06/12 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
计算机相关专业自荐信
2014/07/02 职场文书
小学综合实践活动总结
2014/07/07 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
安全生产会议制度
2015/08/06 职场文书