python存储数据的操作(csv格式文件,Excel表格文件)!!!
Posted 温柔且上进c
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python存储数据的操作(csv格式文件,Excel表格文件)!!!相关的知识,希望对你有一定的参考价值。
存储数据的方式
•常用的存储数据的方式有两种——存储成csv格式文件、存储成Excel文件(不是复制黏贴的那种)
两种存储数据方式的区别
csv格式文件
•csv是一种字符串文件的格式,它组织数据的语法就是在字符串之间加分隔符——行与行之间是加换行符,同行字符之间是加逗号分隔
•可以用任意的文本编辑器打开(如记事本),也可以用Excel打开,还可以通过Excel把文件另存为csv格式(因为Excel支持csv格式文件)
代码测试:
file = open('test.csv', 'a+')
# 创建test.csv文件,以追加的读写模式
file.write('喜羊羊,美羊羊,沸羊羊,懒羊羊')
# 写入test.csv文件
file.close()
# 关闭文件
运行结果:
•当前目录下会出现一个csv文件,
•找到文件目录,用记事本的方式
打开test.csv文件,会出现以下文件内容
•也可以直接打开文件(Excel表格形式)
csv文件总结:
•csv文件里的逗号可以充当分隔同行字符串的作用
•如果不加分隔符的话,数据都堆在一起,会显得杂乱无章,不方便我们之后提取和查找。是一种让数据变得有规律的组织方式
•用csv格式存储数据,读写比较方便,易于实现,文件也会比Excel文件小。但csv文件缺少Excel文件本身的很多功能,如不能嵌入图像和图表,不能生成公式等等
Excel格式文件
•Excel文件(电子表格),有专门保存文件的格式,即xls和xlsx(Excel2003版本的文件格式是xls,Excel2007及之后的版本的文件格式就是xlsx)
csv文件的写入
•操作csv文件我们需要借助csv模块
,python自带csv模块,不需要我们使用pip安装
•csv写入我们可以直接用open函数来写,为什么现在还要先引用csv模块?
•答案:直接运用别人写好的模块,比我们使用open()函数来读写,语法更简洁,功能更强大
•open操作模式表:
代码测试:
import csv
# 引用csv模块。
csv_file = open('movie.csv', 'w', newline='', encoding='gbk')
# 调用open()函数打开csv文件,传入参数:文件名“demo.csv”、写入模式“w”、newline=''、encoding='gbk'
writer = csv.writer(csv_file)
# 用csv.writer()函数创建一个writer对象。
writer.writerow(['电影', '豆瓣评分'])
# 调用writer对象的writerow()方法,可以在csv文件里写入一行文字 “电影”和“豆瓣评分”。
writer.writerow(['喜羊羊与灰太狼', '9.9'])
# 在csv文件里写入一行文字 “喜羊羊与灰太狼”和“9.9”
writer.writerow(['熊出没之夺宝熊兵', '10.0'])
# 在csv文件里写入一行文字 “熊出没之夺宝熊兵”和“10.0”
csv_file.close()
# 关闭文件
两种不同文件格式的结果:
•当文件内容出现乱码时,可将open()函数中的encoding='gbk’改为encoding='utf-8’
•newline=’ '的作用:避免出现两倍行距
csv文件的读取
•操作方法:用csv.reader()函数创建一个reader对象进行操作
代码测试:
import csv
csv_file = open('movie.csv', 'r', newline='', encoding='gbk')#编码方式与写入文件时相同
reader = csv.reader(csv_file)
for row in reader:
print(row)
运行结果:
总结:
•不同文件使用不同的操作模式
•文件写入编码一定要于文件读取编码相同</code.
•csv模块本身还有很多函数和方法,读者可自行学习,附上csv模块官方文档链接:csv模块官方文档
Excel基本概念
•一个Excel文档也称为一个工作簿(workbook),每个工作簿里可以有多个工作表(worksheet),当前打开的工作表又叫活动表
•每个工作表里有行和列,特定的行与列相交的方格称为单元格(cell)。如上图第A列和第1行相交的方格我们可以直接表示为A1单元格
Excel文件的写入
•操作Excel文件需要借助openpyxl模块
,python不自带此模块,需要我们自行安装
•安装模块可参考以下博客:pip换源安装python各种库(终极详细版)
代码测试:
import openpyxl
wb = openpyxl.Workbook()
# 利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的空的Excel文件
sheet = wb.active
# wb.active就是获取这个工作簿的活动表,通常就是第一个工作表
sheet.title = '电影工作表'
# 可以用.title给工作表重命名。现在第一个工作表的名称就会由原来默认的“sheet1”改为"电影工作表"
sheet['A1'] = '熊出没'
# 往A1的单元格中写入了'熊出没'
rows = [['我喜欢的', '名人名言'], ['但行好事', '莫问前程']]
for i in rows:
sheet.append(i)
wb.save('Movie.xlsx')
文件内容:
Excel文件的读取
代码测试:
import openpyxl
wb = openpyxl.load_workbook('Movie.xlsx')
# 调用openpyxl.load_workbook()函数,打开“Movie.xlsx”文件
sheet = wb['电影工作表']
# 获取“MOvie.xlsx”工作簿中名为“电影工作表”的工作表
sheetname = wb.sheetnames
# sheetnames是用来获取工作簿所有工作表的名字的。当你不知道工作簿到底有几个工作表,就可以把工作表的名字都打印出来,寻找自己所需要的工作表
print(sheetname)
A1_cell = sheet['A1']
# 把“电影工作表”工作表中A1单元格赋值给A1_cell,再利用单元格value属性,就能打印出A1单元格的值
A1_value = A1_cell.value
print(A1_value)
运行结果:
总结:
•灵活使用各种方法,文件存储读取搭配使用
•注意前后编码格式,一定要相同
•需要学习openpyxl模块的其他方法查找官方文档,openpyxl模块的官方文档:openpyxl模块官方文档
以上是关于python存储数据的操作(csv格式文件,Excel表格文件)!!!的主要内容,如果未能解决你的问题,请参考以下文章