1、寫入xls文件
①下載依賴庫 xlwt
python -m pip install xlwt
②普通寫入
# encoding=utf-8 # 下載 python -m pip install xlwt import xlwt if __name__ == '__main__': book = xlwt.Workbook() # 創建一個新的工作簿 sheet = book.add_sheet('工作表') # 添加一個工作表 sheet.write(0, 0, '嘻嘻') # 寫入數據到幾行幾列 sheet.write(0, 1, '哈哈') # 寫入數據到幾行幾列 sheet.write(0, 2, '嘿嘿') # 寫入數據到幾行幾列 sheet.write(1, 0, '南風') # 寫入數據到幾行幾列 sheet.write(2, 0, '輕語') # 寫入數據到幾行幾列 sheet.write(3, 0, '鼓樓') # 寫入數據到幾行幾列 book.save('工作簿.xls') # 保存工作薄, 如果保存后綴名為 .xlsx 則在 Microsoft Excel 可能會報錯
運行結果
提示:
正常應該保存后綴名為.xls,因為xlwt就是以xls的格式寫文件的。
如果保存的后綴名為.xlsx,則在WPS中可以正常打開,因為WPS兼容性好,而在Microsoft Excel中會報以下錯誤
③設置單元格格式
# -*- encoding=utf-8 -*- import xlwt if __name__ == '__main__': book = xlwt.Workbook() # 創建工作薄 sheet = book.add_sheet('工作表') # 添加工作表 sheet.write(0, 0, '不設置樣式') # 寫入數據 align = xlwt.Alignment() align.horz = xlwt.Alignment.HORZ_CENTER # 水平居中 align.vert = xlwt.Alignment.VERT_CENTER # 垂直居中 font = xlwt.Font() # 字體基本設置 font.name = u'新宋體' font.colour_index = 32764 # 字體顏色 font.height = 160 # 字體大小 borders = xlwt.Borders() borders.left = xlwt.Borders.THIN # 添加邊框,細實線 borders.right = xlwt.Borders.THIN # 添加邊框,細實線 borders.top = xlwt.Borders.THIN # 添加邊框,細實線 borders.bottom = xlwt.Borders.THIN # 添加邊框,細實線 sheet.col(3).width = 12 * 256 # 設置列寬,一個中文等於兩個英文等於兩個字符,12為字符數,256為衡量單位 pattern = xlwt.Pattern() pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 設置背景顏色的模式 pattern.pattern_fore_colour = 2 # 背景顏色 style = xlwt.XFStyle() # 設置樣式 style.font = font # 字體樣式 style.alignment = align # 排列樣式 style.borders = borders # 邊框樣式 style.pattern = pattern # 背景 sheet.write(3, 3, '設置單元格格式', style) book.save('style.xls')
運行結果
xls單元格格式學習鏈接: https://blog.csdn.net/weixin_44065501/article/details/88899257
④合並單元
# -*- encoding=utf-8 -*- import xlwt if __name__ == '__main__': workbook = xlwt.Workbook() # 創建工作薄 sheet1 = workbook.add_sheet('工作表') # 創建工作表 sheet1.write_merge(0, 0, 0, 1, '合並單元格') # 合並從0行到0行,從0列到1列 sheet1.write_merge(2, 4, 0, 3, '合並單元格') # 合並從2行到4行,從0列到3列 workbook.save('merge.xls')
運行結果
二、寫入xlsx文件
①下載依賴庫
python -m pip install openpyxl
②普通寫入
# encoding=utf-8 import openpyxl if __name__ == '__main__': book = openpyxl.Workbook() # 創建空白工作薄 sheet = book.active # 獲取當前默認工作表 sheet.name = '工作表' # 修改工作表名稱 sheet.cell(1, 1, '數據') # 幾行幾列寫入數據 sheet.cell(1, 2, '數據') # 幾行幾列寫入數據 sheet.cell(1, 3, '數據') # 幾行幾列寫入數據 sheet.cell(1, 4, '數據') # 幾行幾列寫入數據 sheet.cell(2, 1, '數據') # 幾行幾列寫入數據 sheet.cell(3, 2, '數據') # 幾行幾列寫入數據 sheet.cell(4, 3, '數據') # 幾行幾列寫入數據 sheet.cell(5, 4, '數據') # 幾行幾列寫入數據 data = [['數據1', '數據2', '數據3'], ['數據1', '數據2', '數據3'], ['數據1', '數據2', '數據3']] for one in data: sheet.append(one) # 寫入一行 book.save('普通寫入.xlsx') # 保存為 xlsx 格式文件 如果保存為xls, 則 Microsoft Excel 可能會報警告
運行結果
提示:
正常應該保存后綴名為.xlsx,因為openpyxl就是以xlsx格式寫文件的。
如果保存的后綴名為.xls,則在WPS中可以正常打開,因為WPS兼容性好,而在Microsoft Excel中會報以下警告
③設置單元格格式
# encoding=utf-8 import openpyxl from openpyxl.styles import * from openpyxl.styles.colors import COLOR_INDEX if __name__ == '__main__': book = openpyxl.Workbook() # 創建空白工作薄 sheet = book.active # 獲取當前默認工作表 sheet.name = '工作表' # 修改工作表名稱 sheet.cell(1, 1, '數據', ) # 幾行幾列寫入數據 cell = sheet.cell(1, 1) cell.font = Font(color=Color(rgb=COLOR_INDEX[2])) book.save('顏色.xlsx') # 保存為 xlsx 格式文件 如果保存為xls, 則 Microsoft Excel 可能會報警告
更詳細的xlsx格式學習鏈接 https://www.py.cn/jishu/jichu/20317.html
文檔鏈接 https://www.osgeo.cn/openpyxl/styles.html