文件讀寫Excel
1.使用xlrd讀取excel
#使用xlrd讀取excel
#1.導入模塊
import xlrd
# 2. 使用xlrd的函數打開本地文件
workbook=xlrd.open_workbook('案例.xlsx')
#3. 獲取工作表
# sheets=workbook.sheets()#獲取所有工作表組成list,具體某個表用下標
# sheetOne=sheets[0]
# sheetOne=workbook.sheet_by_index(0)#使用函數通過int 獲取第幾張
# 返回工作表名稱組成的列表
sheetNames=workbook.sheet_names()
sheetOne=workbook.sheet_by_name(sheetNames[0])
# 行數
row=sheetOne.nrows
# 列數
col=sheetOne.ncols
# 用for遍歷行數,輸出每行
for i in range(row):
each_row=sheetOne.row_values(i)
print(each_row)
# 用for 遍歷列 數,輸出每列
for i in range(col):
each_col=sheetOne.col_values(i)
print(each_col)
# 精確到單元格
# 嘗試輸出第二行,第二列的值,讀取列表的方式
print(sheetOne.row_values(1)[1])
# sheetOne.cell(row,col) 獲取單元格
# 單元格.value 是值
# sheetOne.cell_value(row,col)直接返回值
print(sheetOne.cell(8,1).value)
print(sheetOne.cell_value(8,1))

# 用循環 輸出所有單元格的內容
# 方法一
# for i in range(row):
# eachrow=sheetOne.row_values(i)
# for each in eachrow:
# print(each)
# 方法二
for i in range(row):
for j in range(col):
print(sheetOne.cell_value(i,j))

2.使用xlwt模塊寫入excel
# 導入xlwt模塊
import xlwt
# 創建工作簿
wb=xlwt.Workbook()
#創建工作表
sheet=wb.add_sheet('newSheet')
for i in range(1,10):
for j in range(1,i+1):
sheet.write(i,j-1,str(j)+'x'+str(i)+'='+str(i*j))
# 保存文件
wb.save('newExcel.xls')

3.使用xlutils模塊修改excel
# 使用xlutils模塊修改 excel
import xlrd
from xlutils.copy import copy
# xlrd 讀取工作簿
wb=xlrd.open_workbook('案例.xlsx')
# 復制一份工作簿,用來寫入
copyed=copy(wb)
# 獲取復制來的 工作簿的工作表
sheetOne=copyed.get_sheet(0)
# 使用writr()寫入
sheetOne.write(3,0,'我是更改的內容')
# 保存,如果保存的文件名存在則覆蓋,不存在則保存個新的
copyed.save('new新存的.xls')
4.使用openpyxl操作excel
#使用openpyxl操作excel
from openpyxl import Workbook
# 1. 實例化對象,創建工作簿
wb=Workbook()
# 2. 使用第一張工作表
sheet=wb.active
# 3. 給表取個名字
sheet.title='表的名稱1'
# 4. 給表增加內容:sheet.append(list類型)
sheet.append([1,2,3])
# 5.保存工作簿
wb.save('new1.xlsx')

5.工作簿屬性與方法
from openpyxl import Workbook # 創建 新的 工作簿
from openpyxl import load_workbook # 打開已有工作簿
# wb = load_workbook('new1.xls') 打開不了 xls 的文件
wb = load_workbook('F:\Python資料\data.xlsx')
'''
workbook 的屬性:
workbook.sheetnames : 所有工作表的名字 組成的列表
workbook.worksheets : 所有工作表 組成的列表
workbook.active : 默認的工作表(第一張)
workbook 的方法:
workbook.get_sheet_names() : 同 workbook.sheetnames
workbook.get_active_sheet() : 同 workbook.active
workbook.get_sheet_by_name(name): 根據name獲取 sheet
workbook.create_sheet(sheetname,index) : 創建sheet,以及名稱與index位置
workbook.save(filename) : 保存
'''
sheet = wb.create_sheet('新的',2)
sheet.append([1,2,3])
wb.save('data.xlsx')
6.工作表屬性與方法(上)
from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
# 獲取表格 wb[ 'sheetname' ]
sheet = wb['新的']
'''
工作表的屬性:
sheet.rows :行數對象
sheet.columns :列數對象
sheet.max_row :有效的最大行數
sheet.min_row :有效的最小行數
sheet.max_column:有效的最大列數
sheet.min_column:有效的最小列數
sheet.values :所有單元格的值組成的2維列表。每行是一個元組
sheet.title :表的名稱
'''
7.工作表屬性與方法(下)
'''
方法: sheet.cell(row=1,column=1) 獲取單元格 .從1開始計數
'''
# print(list(sheet.rows))
print(sheet.max_row)
print(sheet.min_row)
print(list(sheet.values))
print(sheet.cell(2,2).value) # 讀取1
print( sheet['b2'].value ) # 也是1
# 獲取單元格還可以 直接 sheet['C4']
sheet['C4'].value = '炸彈'
sheet['C'+str(4)].value = '炸彈'
for i in range(1,11):
sheet['A'+str(i+1)].value = i*10
wb.save('data.xlsx')
9.什么是json文件
什么是 json 文件
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於
ECMAScript的一個子集。 JSON采用完全獨立於語言的文本格式,但是也使用了類似於C
語言家族的習慣(包括C、C++、Java、JavaScript、Perl、Python等)。這些特性使JSON
成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提
升網絡傳輸速率)
Json模塊提供了四個功能:dumps、dump、loads、load
dumps把數據類型轉換成字符串
dump把數據類型轉換成字符串並存儲在文件中
loads把字符串轉換成數據類型
load把文件打開從字符串轉換成數據類型
10.常用文件及目錄操作
os 模塊提供了非常豐富的方法用來處理文件和目錄。
os.getcwd() 獲取當前工作目錄,即當前python腳本工作的目錄路徑
os.chdir("dirname") 改變當前腳本工作目錄;相當於shell下cd
os.curdir 返回當前目錄: ('.')
os.pardir 獲取當前目錄的父目錄字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多層遞歸目錄
os.removedirs('dirname1') 若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依此類推
os.mkdir('dirname') 生成單級目錄;相當於shell中mkdir dirname
os.rmdir('dirname') 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir('dirname') 列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式打印
os.remove() 刪除一個文件
os.rename("oldname","newname") 重命名文件/目錄