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:如果直接打印会返回csv.reader对象,这时需要遍历列表# 1.创建reader对象
reader = csv.reader(file_obj)
print(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])
namexxx
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以上就是python基础教程之csv文件的写入和读取,如果有改进的建议,欢迎在评论区留言奥~yyy
zzz
推荐学习:python教程以上就是python知识总结之csv文件的写入与读取的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。