首先將你要寫入的數(shù)據(jù)文件內(nèi)容存放在Excel中椰棘,下面以三國戰(zhàn)將戰(zhàn)力為案例
#實現(xiàn)python生成Excel內(nèi)容
import openpyxl #導(dǎo)入excel常用庫
#寫入Excel表格
def write_excel_xlsx(path, sheet_name, value):
index = len(value) #傳入的列表或者字典長度,也就是Excel的列
workbook = openpyxl.Workbook() #創(chuàng)建 xls 文件對象
sheet = workbook.active
sheet.title = sheet_name #表單名稱
for i in range(0, index):
for j in range(0, len(value[i])):
#引用單元格
sheet.cell(row=i + 1, column=j + 1, value=str(value[i][j]))
workbook.save(path) #將傳入的數(shù)據(jù)保存
print("xlsx格式表格寫入數(shù)據(jù)成功是掰!")
#讀取并建立Excel文件名和表單名稱
def read_excel_xlsx(path, sheet_name):
workbook = openpyxl.load_workbook(path)
# sheet = wb.get_sheet_by_name(sheet_name)這種方式已經(jīng)棄用哥桥,不建議使用
sheet = workbook[sheet_name]
for row in sheet.rows:
for cell in row:#取出每個單元的行
print(cell.value, "\t", end="")
print() #輸出Excel保存的結(jié)果或者不輸出也行
# 新增兩個列表前處理的字典
dict1={"戰(zhàn)將姓名": "戰(zhàn)將戰(zhàn)力",
"呂布": 100,
"張飛": 98,
"馬超": 97,
"關(guān)羽": 97,
"許褚": 96,
"趙云": 96,
"典韋": 95,
"文丑": 94,
"甘寧": 94,
"龐德": 94,
"太史慈": 94,
"黃忠": 93,
"顏良": 93,
"孫策": 93,
"張遼": 93,
"魏延": 92,
"華雄": 92,
"文鴛": 92,
"周泰": 91,
"夏侯淵,": 91,
"孫堅": 90,
"徐晃": 90,
"夏侯敦": 90,
"曹彰": 89,
"姜維": 89,
"張頜": 89,
"凌統(tǒng)": 89,
"呂玲綺": 88,
"馬云隸": 88,
"關(guān)索": 88}
dictlist=[]
for keys, value in dict1.items():
temp = [keys,value]
dictlist.append(temp)
#傳入需要保持的文件名參數(shù)
book_name_xlsx = 'xlsx格式三國戰(zhàn)力.xlsx'
#指定的Excel的表單名(就是我們在Excel常見的左下角表單名)
sheet_name_xlsx = 'xlsx格式三國戰(zhàn)力測試表'
write_excel_xlsx(book_name_xlsx, sheet_name_xlsx, dictlist)
read_excel_xlsx(book_name_xlsx, sheet_name_xlsx)
執(zhí)行結(jié)果:
打開后的內(nèi)容為:
附件:excel Cell函數(shù)
cell(類型双谆,引用單元格)
類型包括:
address :單元格文本地址
col:列號
color:負值以不同顏色顯示掠械,則為1,否則為0
contents:單元格值
filename:路徑+文件名+工作表名刨秆,新文檔尚未保存則返回空文本
format:與單元格中不同的數(shù)字格式相對應(yīng)的文本值
parentheses:正值或全部單元格均加括號則為1凳谦,否則為0
prefix:與單元格中不同的“標志前綴”相對應(yīng)的文本值
protect:如果單元格沒有鎖定則為0,否則為1
row:行號
type:與單元格中的數(shù)據(jù)類型相對應(yīng)的文本值
width:取整后的單元格列寬