写入Excel中后有显示第一列客户款号总库存这些,开始写在第12行第一列开始写入,一行写入5个,然后再隔12行,再写入下边的数据,图片需要对应客户款号在Excel写入图片,类似下面的格式
import xlsxwriter import os #以空字符填充缺失值,不然写入数据会报错 data.fillna('',inplace=True) #创建一个新Excel文件并添加一个工作表。 workbook = xlsxwriter.Workbook('images.xlsx') worksheet = workbook.add_worksheet() # # 加宽第2列,,根据图片缩放大小进行调整。 worksheet.set_column('B:B', 20) worksheet.set_column('D:D', 20) worksheet.set_column('F:F', 20) worksheet.set_column('H:H', 20) ##写入数据和图片 for i in range(len(data)): for j in range(4): worksheet.write(i//5*16+j+12,i%5*2 ,['客户款号','总库存','零售数量','前一周'][j]) worksheet.write(i//5*16+j+12,i%5*2+1 ,data.iloc[i,0::].values[j]) #插入图片,insert_image(位置行,位置列,文件名,缩放比例) if data.iloc[i,0::].values[0]+'.jpg' not in os.listdir('.\img\\'): print(i,'找不到',data.iloc[i,0::].values[0]+'.jpg') else: worksheet.insert_image(i//5*16,i%5*2+1,'img/'+data.iloc[i,0::].values[0]+'.jpg',{'x_scale': 0.1, 'y_scale': 0.12}) print(i,'写入成功!') i+=1 workbook.close()
0 写入成功! 1 写入成功! 2 找不到 N038400237.jpg 3 找不到 N038400301.jpg 4 找不到 N039400310.jpg 5 找不到 N038400552.jpg 6 写入成功! 7 找不到 N038401101.jpg 8 找不到 N039400105.jpg 9 找不到 N039400219.jpg
效果如下:
当然还有合并单元格,设置单元格格式,以及处理图片的操作没写,有时间再来补充!
补充:python对excel表格处理需要导入相关的库:
(1)、操作xls格式的表格文件:
读取:xlrd
写入:xlwt
修改(追加写入):xlutils
(2)、操作xlsx格式的表格文件:
读取/写入:openpyxl
*如果用操作xls的方法去写入xlsx文件,会导致文件损坏无法打开;反之一样。
(一)、操作xls格式表格
1、读取excel表格数据
import xlrd #从excle里读数据 import xlwt #创建新的表格写入数据 import xlutils #往已有表格中追加数据 class IOExcel(object): def __init__(self,file): self.file = file def get_sheet(self,sheetname): excelfile=xlrd.open_workbook(self.file) self.sheet = excelfile.sheet_by_name(sheetname) return self.sheet #获取第*行的数据 def get_rowData(self,row): cols = self.sheet.ncols #获取sheet页有多少列 Cells = [] for i in range(0,cols): Cells.append(self.sheet.cell(row,i).value) return Cells
2、创建表格写入数据
def write_excel(self,sheet_name, value): index = len(value) # 获取需要写入数据的行数 workbook = xlwt.Workbook() # 新建一个工作簿 sheet = workbook.add_sheet(sheet_name) # 在工作簿中新建一个表格 for i in range(0, index): for j in range(0, len(value[i])): sheet.write(i, j, value[i][j]) #向表格中写入数据(对应的行和列) workbook.save(self.file) # 保存工作簿
3、向已存在表格中追加数据
def write_excel_xls_append(self,value): index = len(value) # 获取需要写入数据的行数 workbook = xlrd.open_workbook(self.file) # 打开工作簿 sheets = workbook.sheet_names() # 获取工作簿中的所有表格 worksheet = workbook.sheet_by_name(sheets[0]) # 获取工作簿中所有表格中的的第一个表格 rows_old = worksheet.nrows # 获取表格中已存在的数据的行数 new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象 new_worksheet = new_workbook.get_sheet(0) # 获取转化后工作簿中的第一个表格 for i in range(0, index): for j in range(0, len(value[i])): new_worksheet.write(i+rows_old, j, value[i][j]) # 追加写入数据,注意是从i+rows_old行开始写入 new_workbook.save(self.file) # 保存工作簿
(二)、操作xlsx格式表格
wb = openpyxl.Workbook() #创建一个新的excel we = wb.create_sheet('第二页',0) #修改sheet页的名字;设置插入sheet页的位置,默认在上一页后面( 初始创建的excel是只有一个默认sheet页的,所以设置位置的值大于1效果都一样,都是在默认sheet页的后面接着) # we.title = '你好' # 修改sheet页的名字 #操作单元格 we['A1']=123124 we['B2']='你好' print(we.cell(1,2,'123123').value) #设置cell的行号和列号和值,返回cell的值 wb.save('C:\\Users\\t_ful\\PycharmProjects\\test\\element\\t.xlsx') #保存表格
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】