python写入csv文件的几种方法总结,python读取数据文件

  python写入csv文件的几种方法总结,python读取数据文件

  本文已经给大家带来了一些关于python的知识,主要介绍了csv文件的编写和读取。CSV是一种常用的文本格式,用于存储表格数据,包括数字或字符。希望对你有帮助。

  推荐:python教程

  CSV(逗号分隔值),即逗号分隔值(也称为字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用于存储表格数据,包括数字或字符。很多程序在处理数据时会遇到csv格式的文件。Python自带csv模块,专门用于读取csv文件。

  00-1010通过创建writer对象,主要使用两种方法。一个是writerow,写一行。另一种是writerows写多行。

  DictWriter可以用来在字典中写数据。

  00-1010先说第一种写法:通过创建writer对象来写(一次一行)。步骤:1。创建数据和标题2。创建一个writer对象3。写入标题4。遍历列表并将每行数据写入csv。

  代码如下:

  导入csv

  Person=[(XXX ,18,193),( YYY ,18,182),( ZZZ ,19,185)]# header header=[姓名,年龄,身高]带开( person.csv )

  # 1:创建一个writer对象

  writer=csv.writer(file_obj)

  # 2:写标题

  writer.writerow(表头)

  # 3:遍历列表并将每行的数据写入csv

  :个人的p

  Writer.writerow(p)写入后,当前目录下会出现一个person.csv文件。用鼠标右键单击“在资源管理器中显示”,打开person.csv进行查看。

  打开后,你会发现写入的数据会在中间换行。其实:那么应该怎么解决这个问题呢?黑客:很简单。

  你只需要在写数据的时候加一个参数newline= ,为了防止换行写。

  更正后的代码如下:

  导入csv#数据person=[(XXX ,18,193),( yyy ,18,182),( zzz ,19,185)]# header header=[姓名,年龄,身高] with open (person

  #创建一个对象

  writer=csv.writer(file_obj)

  #写入标题

  writer.writerow(表头)

  #遍历,将每行的数据写入csv

  :个人的p

  writer.writerow(p)

  通过创建writer对象(一次写多行)的步骤:1 .创建数据和标题2。创建一个writer对象3。写入标题4。在writerows中输入要处理的数据。

  导入csv#数据person=[(XXX ,18,193),( yyy ,18,182),( zzz ,19,185)]# header header=[姓名,年龄,身高] with open (person

  #创建配对

  象

   writer = csv.writer(file_obj)

   # 写表头

   writer.writerow(header)

   # 3.写入数据(一次性写入多行)

   writer.writerows(person)写入结果如下:

  

第二种写入方法(使用DictWriter可以使用字典的方式将数据写入)

注意事项:使用字典的方式写入要注意传递的数据格式必须是字典
如果不是字典的话会报错

  

AttributeError: ‘tuple’ object has no attribute ‘keys’

  

步骤1.创建数据和表头( 数据必须是字典格式)2.创建DictWriter对象3.写表头4.写入数据

  

import csv# 数据person = [

   {'name': 'xxx', 'age': 18, 'height': 193},

   {'name': 'yyy', 'age': 18, 'height': 182},

   {'name': 'zzz', 'age': 19, 'height': 185},]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:

   # 1.创建DicetWriter对象

   dictWriter = csv.DictWriter(file_obj, header)

   # 2.写表头

   dictWriter.writeheader()

   # 3.写入数据(一次性写入多行)

   dictWriter.writerows(person)

  

csv的读取

通过reader()读取

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:

   # 1.创建reader对象

   reader = csv.reader(file_obj)

   print(reader)

如果直接打印会返回csv.reader对象,这时需要遍历列表

  

<_csv.reader object at 0x000001FB8CE655F8>

  

改正代码如下:

  

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:

   # 1.创建reader对象

   reader = csv.reader(file_obj)

   # 2.遍历进行读取数据

   for r in reader:

   print(r)

读取结果如下:

  

['name', 'age', 'height']['xxx', '18', '193']['yyy', '18', '182']['zzz', '19', '185']
如果想打印列表的某一个值,可以使用索引打印

  

print(r[0])
name

  xxx

  yyy

  zzz

通过dictreader()读取

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:

   # 1.创建reader对象

   dictReader = csv.DictReader(file_obj)

   # 2.遍历进行读取数据

   for r in dictReader:

   print(r)

返回结果如下:

  

OrderedDict([('name', 'xxx'), ('age', '18'), ('height', '193')])OrderedDict([('name', 'yyy'), ('age', '18'), ('height', '182')])OrderedDict([('name', 'zzz'), ('age', '19'), ('height', '185')])
这时我们如果要取到某一个值就需要指定键去寻找值

  

print(r['name'])
xxx

  yyy

  zzz

以上就是python基础教程之csv文件的写入和读取,如果有改进的建议,欢迎在评论区留言奥~

  推荐学习:python教程以上就是python知识总结之csv文件的写入与读取的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: