程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python編程進階——文件處理與os模塊2

編輯:Python

目錄

  • 1.txt文件
  • 2.yaml文件讀取數據
  • 3.openpyxl操作excel
  • 4.csv文件 叫逗號分割值文件,也可以叫字符分割符文件


1.txt文件

# 1.文件的具體應用
# web自動化 接口自動化 讀取文件裡面的內容 測試數據 yaml文件,excel文件數據
# yaml文件怎麼寫數據 讀數據
# 1.yaml文件讀取數據
# 2.excel文件讀取數據
# 3.txt文件讀取
# 4.csv文件
f=open('./data/test.txt','r',encoding = 'utf-8')
print(f.read())
f.close()
with open('./data/test.txt','r',encoding = 'utf-8') as f:
print(f.read())
print(f.readline())
print(f.readlines())

2.yaml文件讀取數據

# 創建了一個yaml文件
# 語法格式:
# 1.縮進表示層級關系 不能用tab按鍵,直接用空格
# 2.#表示注釋
# 3.字符串不需要打引號,數字想要是字符串需要自己手動打引號
# 4.可以創建列表 [] -表示列表
# 5.可以創建字典{key:value}: 表示字典
# 6.yaml中的數據要空格
# 1.安裝yaml
# 2.cmd輸入pip install pyyaml 檢測 pip list
# 3.setting裡面安裝
# 讀取yaml文件裡面的數據
import yaml
# 打開yaml
f=open('./data/dict1.yaml','r',encoding='utf-8')
# 讀取加載yaml 5.1以後要用Loader=yaml.FullLoder
data=yaml.load(f,Loader=yaml.FullLoader)
print(data)
f.close()
with open('./data/dict1.yaml','r',encoding='utf-8') as f1:
data = yaml.load(f1,Loader = yaml.FullLoader)
print(data['person']['name'])
print(data['adress'])
# data是拿到所有數據 秋水 字典怎麼取值 拿到鍵 就拿到值
#問題: 怎麼拿到秋水這個值
#{'code':200,{'name':admin,'sex':'女'},adress:'changsha','token':'xxxxx'}
# 讀取yaml中列表的數據
# 1.導入yaml
# 2.打開yaml文件
# 3.加載yaml文件數據
# 4.打印yaml文件內容
with open('./data/list_yaml.yaml','r',encoding='utf-8') as f:
data = yaml.load(f,Loader=yaml.FullLoader)
print(data)
#想要拿虛竹這個值,怎麼拿,列表怎麼取值 拿到小狗怎麼拿
# print(data[1])
print(data[1][1])
# 列表嵌套字典
# [{'id':1,'name':'小翠','age':18},{'id':2,'name':'小花','age':19}
with open('./data/listdict_yaml.yaml','r',encoding='utf-8') as f:
data=yaml.load(f,Loader=yaml.FullLoader)
print(data)

3.openpyxl操作excel

# openpyxl只支持xlsx不支持xls,xls用xlrd,xlwt
# 讀取excel數據 xlrd xlwt xlutils pandas openpyxl
#.1.安裝 pip install openpyxl pip list
# 操作excel
# 讀取excel數據
import openpyxl
# 打開excel
workbook = openpyxl.load_workbook('./data/bb.xlsx')
print(workbook)
# 拿表單 指定表單拿裡面的數據
sheet = workbook['Sheet3']
print(sheet)
# 讀取excel裡面的數據 for
for i in sheet.values:
print(i)
# 拿到所有的表單數據
sheet=workbook.sheetnames
print(sheet)
# 拿到所有的表單數據
# 表單先都拿出來 循環列表
# 表單裡面的值 workbook[Sheet1], workbook[Sheet2], workbook[Sheet3]
for i in sheet:
print(i)
for j in workbook[i].values:
print(j)
# 不要所有的數據 只要某一個值
# 指定表單 指定單元格的數據
sheet = workbook['Sheet3']
# 指定單元格的數據
id = sheet['A1'].value
print(id)
# # 指定單元格的數據 行和列
id = sheet.cell(row=1,column=1).value
print(id)
# 寫入數據
# sheet.cell(row=1,column=5).value = '預期結果'
sheet['E1'].value= '預期結果3'
workbook.save('./data/bb.xlsx')

4.csv文件 叫逗號分割值文件,也可以叫字符分割符文件

# 內容,隔開
# 怎麼操作csv文件
# 1.打開文件
# 2.讀取 用的是csv.reader() 返回的是一個csv.reader的對象,可迭代的對象
# 我們對象進行遍歷,輸出每一行,每一列
import csv
f=open('./data/data.csv','r',encoding='utf-8')
a=csv.reader(f)
for i in a:
print(i)
with open('./data/data.csv','r',encoding='utf-8') as f:
a = csv.reader(f)
print(a)
# for i in a:
# print(i)
# print(i[1])
# 某一行的數據 轉成
result = list(a)
print(result)
print(result[1])
# 寫入writer
stu1 = [1,'秋水',18,'女']
stu2 = [2,'虛竹',108,'妖']
out = open('./data/data.csv','a',encoding='utf-8',newline='')
write=csv.writer(out)
write.writerow(stu1)
write.writerow(stu2)
data = [('測試1','測試2'),
('測試2','測試2')
('測試3','測試2')
('測試4','測試2')
('測試5','測試2')
]
f1= open('./data/data.csv','a',encoding='utf-8',newline='')
out=csv.writer(f1)
for i in data:
out.writerow(i)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved