学习笔记三:读取文件(json、csv、excel等)

读取txt文件:

openfile=open('user_info.txt','r')#读取文件
lines=openfile.readlines()#读取所有行数据
openfile.close()
for line in lines:#遍历输出每一行数据
username = line.split(',')[0]
password = line.split(',')[1]
asert = line.split(',')[2]
print(username,password,asert)
读取csv文件:
import csv
import codecs
from itertools import islice
data = csv.reader(codecs.open('info.csv', 'r', 'utf_8_sig'))
users = []

# 循环输出每一行信息
for line in islice(data, 1, None): #忽略首行
users.append(line)
print(users)
读取xml文件:
<?xml version="1.0" encoding="utf-8"?>
<info>
<base>
<platform>Windows</platform>
<browser>Firefox</browser>
<url>http://www.baidu.com</url>
<login username="admin" password="123456"/>
<login username="guest" password="654321"/>
</base>
<test>
<province>北京</province>
<province>广东</province>
<city>深圳</city>
<city>珠海</city>
<province>浙江</province>
<city>杭州</city>
</test>
</info>
from xml.dom import minidom

dom = minidom.parse('info.xml')# 打开xml文档
root = dom.documentElement # 得到文档元素对象
logins = root.getElementsByTagName('login')#可以通过标签名获取标签,它所获取的对象是以数组形式存放
username = logins[0].getAttribute("username")# 获得login标签的username属性值
print(username)

password = logins[0].getAttribute("password")# 获得login标签的password属性值
print(password)

provinces = dom.getElementsByTagName('province')
citys = dom.getElementsByTagName('city')
c1 = citys[0].firstChild.data# 获得第一个city标签对的值
print(c1)
#firstChild 属性返回被选节点的第一个子节点。data 表示获取该节点的数据

读取json

 

   importjson

from test_model.common import JSON_FILE #json文件位置

f = open(JSON_FILE, "r")
data = json.loads(f.read())#转为json类型

f.close()
print(data["login"][0]["username"])
读取excel
> pip install openpyxl
> pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/
> pip install openpyxl -i https://pypi.doubanio.com/simple/
from openpyxl import load_workbook
from test_model.common import EXCEL_FILE #excel文件位置

excel_table = load_workbook(EXCEL_FILE)
sheet = excel_table["Sheet1"]

for lines in sheet.iter_rows(1, 3):
for filed in lines:
print(filed.value)
posted @ 2021-04-28 15:53  YanaMay  阅读(175)  评论(0)    收藏  举报