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)