主要是讲我写代码的时候,出现的几处小错误

import csvdef csv_read():with open("student.csv") as f:readers = csv.reader(f)header = next(readers)print(header)for list in readers:print(list)if __name__ == '__main__':csv_read()

运行失败:

Traceback (most recent call last):File "E:/python/try_02/try_csv.py", line 14, in <module>csv_read()File "E:/python/try_02/try_csv.py", line 7, in csv_readheader = next(readers)
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence

正确方法:在打开文件时,指定编码格式,参数encoding用来指定编码格式

import csvdef csv_read():with open("student.csv", encoding = "utf-8") as f:readers = csv.reader(f)header = next(readers)print(header)for list in readers:print(list)if __name__ == '__main__':csv_read()

输出:

['\ufeff"sno"', 'sname', 'ssex', 'sdept', 'sage']
['08001', '张力', '男', '软件', '18']
['08002', '张丽', '女', '音乐', '20']
['08003 ', '李梅', '女 ', '艺设', '19']
['08004', '王丹', '女', '外国语', '18']
['08005', '赵雷', '男', '生化', '19']
['08006', '王语嫣 ', '女', '软件', '18']
['08007', '赵海', '男', '数学', '19']
['08008 ', '刘晨', '男', '计科', '18']
['08009', '刘丹丹', '女', '音乐', '18']
['08010', '高晓', '女', '艺设', '19']
['08011', '王江', '男', '生化', '20']
['08012', '严格', '男', '机械', '18']
['08013', '崔键', '男', '机械', '19']
['08014', '张果', '男', '数学', '19']
['08015', '李严', '女', '软件', '19']

可以观察到输出时出现了‘\ufeff’,把编码格式更改为‘utf-8-sig’,去除‘\ufeff’

'\ufeff'用来标识文件的字节序

另外两种读取csv文件的方法:

#  namedtuple()相等于创建了一个Student类型的类 需要导入模块
def csv_namedtuple_read():with open("student.csv", encoding="utf-8-sig") as f:content = csv.reader(f)header = next(content)Student = namedtuple("Student", header)for row in content:stu = Student(*row)print(stu)# 读取csv到字典表中
def csv_dict_read():with open("student.csv", encoding = "utf-8-sig") as f:students = csv.DictReader(f)for stu in students:print(stu)

小练习 通过csv模块读取csv文件相关推荐

  1. python数据写入csv会丢失0字头_python csv模块生成CSV文件,0字头数字缺失,汉字乱码...

    python CSV模块 写入CSV文件时,0开头的数字会丢失 # _*_ coding:utf-8 _*_ #win7+python2.7.x import csv csvfile = file(' ...

  2. python怎么打开h5文件_python中利用h5py模块读取h5文件中的主键方法

    如下所示: import h5py import numpy as np #HDF5的写入: imgData = np.zeros((2,4)) f = h5py.File('HDF5_FILE.h5 ...

  3. python利用numpy模块读取csv文件

    文章目录 numpy.loadtxt()方法 简单读取 字符串处理-str参数 跳过首行 - skiprow = 1 读取特定列 - usecols参数 numpy切片 更多读取方法 numpy.lo ...

  4. python csv模块 一次读多行_python中csv模块读取reader只能读取一次

    各位好,请问python读取csv文件时只能读取一次是为什么 现在有一个csv文件 大概是这个样子 现在对ID和length进行读取 import csv with open('ccc.csv','r ...

  5. Python:使用 csv 模块读写 csv 文件

    目录 一.读取 csv 文件 二.写入 csv 文件 一.读取 csv 文件 # -*- coding: utf-8 -*-import csv import sysdef read_csv_file ...

  6. [转载] Python利用openpyxl模块读取excel文件内容

    参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...

  7. 利用openpyxl模块读取excel文件

    背景:之前一直想做一个网络设备配置自动化备份的python程序,以前通过读取ini文件的文件实现了,但是ini文件编辑和更新太麻烦,一起想通过读取excel的方式来实现.在老陆的帮忙下,完成了这一个模 ...

  8. python用模块读取xml文件_python读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

  9. 解决微信小程序云开发ios读取txt文件问题

    1.问题描述 最近做毕设的时候发现要读取微信小程序云存储中的txt文件内容,安卓端一切正常,但是ios15就一直不能读取内容.感觉是存储权限的问题,在网上找了很多方法都不行.最后用云函数解决的. 2. ...

最新文章

  1. thrift多平台安装
  2. 【python】数据结构与算法之选择排序
  3. 一文读懂 volatile 关键字
  4. 【结论】单元格(jzoj 1509)
  5. 河流水质指标预测与不确定性分析:机器学习模型的比较研究--文献阅读
  6. CSS串联和后代选择器
  7. 网页html5游戏修改器,正版H5游戏无限物品
  8. 图片不能承受之重-转
  9. dither技术的原理及应用
  10. 菜鸡解析CSS(cascading style sheet)
  11. win10提示无法打开这个应用怎么办
  12. 原生JS实现球面展示特效
  13. windows下golang监控鼠标和键盘事件
  14. 线程安全(thread safe)是什么?
  15. Tensorflow Serving模型指向s3地址,Could not find base path?
  16. neo4j 机器学习_21个必知的机器学习开源工具,涵盖5大领域
  17. 用Python批量修改hex文件的内容
  18. 选择结构——计算某年某月的天数
  19. springboot电商系统-生鲜电商-蔬菜商城
  20. vmware vconverter P2V报错分析

热门文章

  1. 会员付费超前点播模式争议背后,我们该怎么看待在线视频的未来?
  2. 国产国脑与腾讯会议配合挺默契
  3. Windows 11正式发布,新功能太绝了!
  4. python中用pip安装出现Microsoft Visual C++ 14.0 is required. Get it with Microsoft Visual C++ Build Tools
  5. 2个硬盘离线导致raid崩溃的数据恢复案例
  6. Atlas 200 HiLens Kit
  7. cdr 表格自动填充文字_当文字内容太多excel单元格盛不下应该怎么做
  8. python关于二手房的课程论文_用Python对2019年二手房价格进行数据分析
  9. 递归函数--猴子摘桃问题的解题思路
  10. 【爬虫进阶】常见的反爬手段和解决方法(建议收藏)