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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容