1 excel部分:
主要是xlrd包的使用,这里比较简单,如需要详细信息请查找python有关文档
import xlrd
def xl_read():
"""excel读取"""
book = xlrd.open_workbook('path') #获取全部文件数据
sheet = book.sheet_by_index(1) #获取第一个工作表
sheet = book.sheet_by_name('name') #通过工作表名称获取对象
print(sheet.nrows) #获取行数
for sheet in book.sheets() : #获取所有标签
print(sheet.name)
for i in (sheet.nrows):
print(sheet.row_values(i)) #获取行索引
if __name__ == '__main__':
xl_read()
2 json部分
主要是导入json包进行操作
import json
#json格式和字典表类似,但存在差异
def jiso_basic():
data = {
'ID' : 1,
'课程' :'python',
'机构' :'课堂',
"单价" : 'http:..code'
}
print(data)
jion_str = json.dumps(data) #将格式变为json格式字符串
print(jion_str)
jion_data = json.loads(jion_str) #将数据还原
print(jion_data)
def jion_writer_file():
"""写json文档"""
data = {
'ID': 1,
'课程': 'python',
'机构': '课堂',
"单价": 'http:..code'
}
with open('data.json','w',encoding='utf8') as f:
json.dump(data,f) #同时完成写入
def json_read_file():
"""读取文件"""
with open('data.json','r',encoding='utf8') as f:
data = json.load(f) #读取文件
print(data)
def json_type_diff():
"""类型差异"""
print(json.dump(False)) #结果是flase
print(json.dump(None)) #结果是null
if __name__ == '__main__':
json_type_diff()
3 csv 部分
主要使用csv包进行操作
from collections import namedtuple
import csv
def csv_read(path):
"""读取csv文件"""
with open(path,encoding='utf8') as f: #path是文件地址
reader = csv.reader(f)
headers = next(reader) #获取下一行信息
for roe in headers: #可迭代对象
print(f'编号{roe[0]}') #获取roe第一个数据
def csc_read_by_nametuple(path):
"""读取csc并用nametuple读取映射名"""
with open(path,encoding='utf8') as f: #path是文件地址
reader = csv.reader(f)
headers = next(reader)
Row = namedtuple('Roe',headers) #Roe是框架名称,headers是名称
for r in reader:
row = Row(*r)
print(f'{row.ProdactID}') #获取属性的方法回去
def csc_read_by_nametuple(path):
"""读取csc并用nametuple读取映射名"""
with open(path,encoding='utf8') as f: #path是文件地址
reader = csv.DictReader(f) #获取的为字典表,键是第一行对应属性
for r in reader:
print(r.ProdactID)
import csv
def csv_read():
""""""
with open('my_coures.csv','r',encoding='utf8',newline='') as f:
reader = csv.DictReader(f)
headers = next(reader)
print(headers)
for row in reader:
print(row['编号'])
def cxv_write():
"""写入csv文件"""
headers = ['编号',"课程名称","讲师"]
row = [
(1,'python','Eason'),
(2, 'C+', 'Eason'),
(1, 'java', 'Eason')
]
with open('my_coures.csv','w',encoding='utf8',newline='') as f: #newline指定每行最后会不会换行
write = csv.writer(f) #需要有写入器
write.writerow(headers) #写入单行
write.writerows(row) #写入多行
def csv_write_dict():
"""以dict格式写入数据"""
haeders = ['ID','Totle',"org",'url']
row = [
{'ID' : 1 ,"Totle" : 'python','org':'dwdw','url':'fdeo'},
{'ID': 2, "Totle": 'python', 'org': 'dwdw', 'url': 'fdeo'},
{'ID': 3, "Totle": 'python', 'org': 'dwdw', 'url': 'fdeo'}
]
with open('My_course2.csv','w',encoding='utf8',newline='') as f:
writer = csv.DictWriter(f,haeders) #headers默认知道是表头
writer.writeheader()
writer.writerows(row)
if __name__ == '__main__':
csv_write_dict()