文件读写操作
1、文件操作介绍
在实际操作中,通常采集本地数据来进行数据分析,那么就需要学习Python去对本地文档进行读取与写入等操作。比如:txt文件,json文件,csv文件,excel文件等。
2、本地文件操作步骤
- 打开文件
open(file, mode='r',encoding=None) --> 打开文件
file--> 文件路径
mode --> 操作文件模式
r --> 只读模式
w --> 写入
a --> 追加
encoding --> 指定文件编码
utf-8 --> 当文件中文乱码时,则指定编码为utf-8解决。 - 操作文件
- 关闭文件
3、Python操作txt文件
示例1 :创建Students.txt文件,并且写入内容
f = open('Students.txt','w',encoding="utf-8")
f.write("瑶琪")
f.close()
注意
- w模式,当文件不存在时创建文件
- 再次写入为覆盖
- 关闭之后需重新打开
示例2:读取Students.txt中的数据
f = open('Students.txt','r')
f.readlines()
f.close()
注意
- r模式,当文件不存在时则报错
- f.read() --> 读取全部
- f.readline() -->逐行读取
- f.readlines() -->读取全部,且为列表
- 读取不可逆
4、with open() --> 上下文管理器
with关键字用于Python的上下文管理器机制。为了防止诸如open这一类文件打开方法在操作过程出现异常或错误,或者最后忘了执行close方法,文件非正常关闭等可能导致文件泄露、破坏的问题 。Python提供了with这个上下文管理器机制,保证文件会被正常关闭。在它的管理下,不需要再写close语句。其余操作都同open()一致。
粟子
with open('Students.txt','r',encoding="utf-8") as f:
print(f.readlines())
5、Python操作json文件
JSON是一种使用广泛的轻量数据格式。 Python标准库中的json模块提供了JSON数据的处理功能。
由于JSON与python中的字典格式非常像。所以python中的json模块也相当于是用来使json与字典做转换。但是要注意的是,json中的数据必须使用双引号包裹
json格式:'{"key":"value"}'
示例一:将{"age":18}写入data.json文件中
import json
data = {"age":18}
with open('data.json','w') as f:
json.dump(data,f)
示例二:读取data.json文件中的数据并且,获取到18这个值。
import json
with open('data.json','r') as f:
j_data = json.load(f)
print(j_data['age'])
6、Python操作csv文件
CSV即Comma Separate Values,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。经常用来作为不同程序之间的数据交互的格式。
- 练习1:创建demo02.csv文件,并写入数据。
import csv # 内置模块
with open("demo02.csv", "w", encoding="utf-8", newline="") as datacsv:
datawriter = csv.writer(datacsv)
datawriter.writerow(["name", "age", "gender"])#写入标题行
datawriter.writerow(["amy", "18", "女"])
- 练习2:读取demo02.csv文件数据。
import csv
with open("demo02.csv","r",encoding="utf8",newline='') as datacsv:
datareader = csv.reader(datacsv)
for i in datareader:
print(i)
- 与此同时,除了python内置的csv模块可以对csv文件进行读写操作之外,pandas操作起来显得更加简洁。
pandas模块自己搞不定,等待老师讲解
import pandas as pd
# 读取
data = pd.read_csv("demo02.csv")
print(data)
# 写入
data_head = data.head()
print(data_head)
data_save = data.to_csv("demo02.csv",index = False)
7、Python操作excel文件
在Python中,有很多第三方模块用来操作excel,比如说:xlwt,xlrd,openpyxl等。
注意:openpyxl只支持2010版本以上的xlsx文件
练习:使用openpyxl将数据写入demo03.xlsx
思路:
创建工作簿
创建工作表
写入数据
保存