首页 > 脚本专栏 > python > python xlsxwriter excel插入数据图片

python 使用xlsxwriter循环向excel中插入数据和图片的操作

作者:读童话的狼

这篇文章主要介绍了python 使用xlsxwriter循环向excel中插入数据和图片的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

写入Excel中后有显示第一列客户款号总库存这些,开始写在第12行第一列开始写入,一行写入5个,然后再隔12行,再写入下边的数据,图片需要对应客户款号在Excel写入图片,类似下面的格式

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,'写入成功!') workbook.close() 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') #保存表格

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • python如何实现数组元素两两相加
    python如何实现数组元素两两相加
    2022-05-05
  • python没有gpu,如何改用cpu跑代码
    python没有gpu,如何改用cpu跑代码
    2022-05-05
  • Python中号称神仙的六个内置函数详解
    Python中号称神仙的六个内置函数详解
    2022-05-05
  • Python中的列表条件求和方法
    Python中的列表条件求和方法
    2022-05-05
  • Python实现功能全面的学生管理系统
    Python实现功能全面的学生管理系统
    2022-05-05
  • Python如何通过变量ID得到变量的值
    Python如何通过变量ID得到变量的值
    2022-05-05
  • python实现简易的学生信息管理系统
    python实现简易的学生信息管理系统
    2022-05-05
  • Python中typing模块的具体使用
    Python中typing模块的具体使用
    2022-05-05
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号