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()