python基础05-文件处理02

1.yaml文件读取

首先要安装第三方库 pip install pyyaml

1.1yaml文件格式写法

# 第一种写法
-
  send: xx@163.com
  re: xx@163.com

# 第二种写法
-
  id: 1
  name: '张三'
  age: 10
  sex: '男'
  data:
      address: '长沙'
      status: 'success'

1.2读取yaml文件数据

1.2.1第一种写法

# 打开文件  设置可读  
f=open('./data/test.yaml','r')
# 读取yaml数据
data=yaml.load(f,yaml.FullLoader)
print(data,type(data))
f.close()
# 读取出来的数据是以列表格式存在的
# [{'send': 'xx@163.com', 're': 'xx@163.com'}]

1.2.2第二种写法

该写法执行完后自动执行关闭操作

with open('./data/test.yaml','r') as f1:
    yaml.load(f1,yaml.FullLoader)
    print(data,type(data))  # [{'send': 'xx@163.com', 're': 'xx@163.com'}] <class 'list'>
    print(data[0]) # {'send': 'xx@163.com', 're': 'xx@163.com'}
    print(data[0]['send']) # xx@163.com

问题:读取yaml里面的数据,通过键名拿到值

print(data.get('name'))
print(data['name'])

2.txt文件读取

readlines 整行读取数据 也包含换行

使用strip()去除换行符\n

with open("text1.txt") as f:
    for i in f.readlines():
        # 去除换行符
        i = i.strip("\n")
        print(i)
        # 进行切割
        data = i.split()
        print(data)
# 输出结果
# name 123456
# ['name', '123456']
# name2 123456
# ['name2', '123456']

3.excel文件读取

首先需要导入第三方库 pip install openpyxl

读取excel的第一种写法

# 打开excel文件
excel = openpyxl.load_workbook('D:/python/python基础及进阶/基础/test1.xlsx')
# 找到对应的sheet页
sheet = excel['Sheet1']
# 获取单元格的值
# name = sheet.cell(row=1, column=2).value
# print(name)
# id1 = sheet['A1'].value
# print(id1)
# 拿到所有的值
value = sheet.values
for i in value:
    print(i)
for i in range(1, 31):
    name = sheet.cell(row=i, column=1).value
    address = sheet.cell(row=i, column=2).value
    birthday = sheet.cell(row=i, column=3).value
    age = sheet.cell(row=i, column=4).value
    sex = sheet.cell(row=i, column=5).value
    card = sheet.cell(row=i, column=6).value
    print(name, address, birthday, age, sex, card)

读取excel的第二种写法

# 打开excel文件
excel = openpyxl.load_workbook('D:/python/python基础及进阶/基础/test1.xlsx')
# 获取所有sheet的页
sheets = excel.sheetnames
for name in sheets:
    # 打印出所有的sheet页的名称
    print(name)
    # 循环输入每个sheet的内容
    for value in excel[name].values:
        # 将数据转换为列表格式,方便获取其中的某个值
        values = list(value)
        print(values)

写入数据至excel中

# 在excel中写入数据
# 确定写入数据的行和列和写入的内容
sheet.cell(row=1, column=7).value = '是否注册'
excel.save('D:/python/python基础及进阶/基础/test1.xlsx')

4.csv文件读取

# 打开文件
with open('./test.csv', 'r', encoding='utf8') as f:
    # 读取内容需要用for循环
    f2 = csv.reader(f)
    for i in f2:
        print(i)

    for i in f:
        print(i)
        
# 读取某一行的数据
with open('./test.csv', 'r', encoding='utf8') as f:
    data = list(csv.reader(f))
    print(data)
    print(data[0])
    
# 读取某一列
with open('./test.csv', 'r', encoding='utf8') as f:
    # 读取内容  需要用for循环
    f1 = csv.reader(f)
    for i in f1:
        print(i[0])

写入数据至csv文件中

第一种写法

data = [3, '王五', 10]
data1 = [4, '赵六', 10]
with open('./test.csv', 'a', encoding='utf8', newline='') as f:
    # 将数据写入
    write1 = csv.writer(f)
    write1.writerow(data)
    write1.writerow(data1)

第二种写法

data = [
    (1, '小明', 10),
    (2, '小红', 10),
    (3, '赵六', 10)
]
with open('./test.csv', 'a', encoding='utf8', newline='') as f:
    write1 = csv.writer(f)
    for i in data:
        write1.writerow(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值