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模块官方文档

  • 21
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用csv模块来将数据保存到csv文件中。首先,你需要使用open()函数打开一个csv文件,并指定写入模式、编码方式等参数。然后,使用csv.writer()函数创建一个writer对象。接下来,你可以使用writer对象的writerow()方法来写入数据行。最后,记得关闭文件。下面是一个示例代码: ```python import csv csv_file = open('data.csv', 'w', newline='', encoding='utf-8') writer = csv.writer(csv_file) writer.writerow(\['学号', '班级', '姓名'\]) writer.writerow(\['001', '2021.1', '张三'\]) writer.writerow(\['002', '2021.1', '李四'\]) writer.writerow(\['003', '2021.1', '王五'\]) writer.writerow(\['004', '2021.1', '老六'\]) csv_file.close() ``` 在这个示例中,我们创建了一个名为data.csvcsv文件,并写入了一些数据行。每一行的数据都是一个列表,列表中的元素对应着每一列的数据。最后,我们关闭了文件。这样就将数据成功保存到了csv文件中。 #### 引用[.reference_title] - *1* *2* [python存储数据操作(csv格式文件Excel表格文件)!!!](https://blog.csdn.net/qq_45261963/article/details/117438296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [利用python数据写入CSV文件中](https://blog.csdn.net/weixin_44799217/article/details/112258777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值