二级python——(七)文件和数据格式化


在这里插入图片描述

文件

概念上,文件是数据的集合和抽象

  • 文本文件:一般由单一的特定编码字符组成
  • 二进制文件:0,1组成
  • 二进制和文本文件最主要的区别在于是否有统一字符编码

文件的读入

  • 采用 “rt” 文本方式读入文件,文件经编码形成字符串
    在这里插入图片描述
  • 采用 “rb” 二进制方式打开文件,文件被解析为字节流
    在这里插入图片描述

文件的打开模式

在这里插入图片描述

f.read( )

若文件不大,可以一次性将文件内容读入保存到内部变量中,结果是一个字符串

f = open("b.txt", 'r', encoding="UTF-8")
s = f.read()
print(s)
f.close()

我是小杨我就这样

f.readlines( )

一次性读入文件的函数,其结果是一个列表,每个元素是文件的一行

f = open("b.txt", 'r', encoding="UTF-8")
s = f.readlines()
print(s)
f.close()

[‘我是小杨我就这样\n’]

文件读取的指针

文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从新的位置开始

f = open("b.txt", 'r', encoding="UTF-8")
s = f.read()
print(s)

我是小杨我就这样

ls = f.readlines()
print(ls)
# 因为之前的f.read()已经读取了文件全部内容,读取指针在文件末尾

[ ]

f.seek( )移动指针位置

  • f.seek(0):将读取指针移动到文件开头
  • f.seek(2):将读取指针移动到文件末尾
f = open("b.txt", 'r', encoding="UTF-8")
s = f.read()
print(s) # 我是小杨我就这样

ls = f.readlines()
print(ls) # []
# 因为之前的f.read()已经读取了文件全部内容,读取指针在文件末尾

f.seek(0)
ls = f.readlines()
print(ls)

[‘我是小杨我就这样\n’]

文件逐行读入

f = open('b.txt', 'r', encoding="UTF-8")
for line in f:
    print(line)
f.close()

新年都未有芳华,二月初惊见草芽。

白雪却嫌春色晚,故穿庭树作飞花

文件的写入

f.write( )

向文件写入一个字符串或者字节流

f = open('b.txt', 'w')
f.write('我是小杨我就这样\n')
f.close()

f.writelines(lines)

直接将列表类型的各元素连接起来写入文件 f

ls = ['我是小杨我就这样\n', '啦啦啦阿联\n']
f = open('b.txt', 'w')
f.writelines(ls)
f.close()

数据组织的维度

一维数据
在这里插入图片描述
二维数据
在这里插入图片描述
高维数据
在这里插入图片描述

CSV格式文件

逗号分割数据的文件

一维数据的处理

ls = ['北京', '上海', '天津', '重庆']
f = open("city.csv", 'w')
f.write(",".join(ls) + '\n')
f = open("city.csv", 'r')
s = f.read()
print(s)
f.close

北京,上海,天津,重庆

二维数据的处理

循环的方式写入

ls = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
f = open("b.csv", 'w')
for row in ls:
    f.write(",".join(ls)+'\n')
f.close()
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值