2021-07-22

文件读写操作

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

  • 思路:
    创建工作簿
    创建工作表
    写入数据
    保存

你可能感兴趣的:(2021-07-22)