亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

python 使用xlsxwriter循環向excel中插入數據和圖片的操作

瀏覽:73日期:2022-06-30 16:19:38

寫入Excel中后有顯示第一列客戶款號總庫存這些,開始寫在第12行第一列開始寫入,一行寫入5個,然后再隔12行,再寫入下邊的數據,圖片需要對應客戶款號在Excel寫入圖片,類似下面的格式

python 使用xlsxwriter循環向excel中插入數據和圖片的操作

python 使用xlsxwriter循環向excel中插入數據和圖片的操作

import xlsxwriterimport 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+=1workbook.close()

0 寫入成功!1 寫入成功!2 找不到 N038400237.jpg3 找不到 N038400301.jpg4 找不到 N039400310.jpg5 找不到 N038400552.jpg6 寫入成功!7 找不到 N038401101.jpg8 找不到 N039400105.jpg9 找不到 N039400219.jpg

效果如下:

python 使用xlsxwriter循環向excel中插入數據和圖片的操作

當然還有合并單元格,設置單元格格式,以及處理圖片的操作沒寫,有時間再來補充!

補充:python對excel表格處理需要導入相關的庫:

(1)、操作xls格式的表格文件:

讀?。簒lrd

寫入: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() #創建一個新的excelwe = wb.create_sheet(’第二頁’,0) #修改sheet頁的名字;設置插入sheet頁的位置,默認在上一頁后面( 初始創建的excel是只有一個默認sheet頁的,所以設置位置的值大于1效果都一樣,都是在默認sheet頁的后面接著)# we.title = ’你好’ # 修改sheet頁的名字#操作單元格we[’A1’]=123124we[’B2’]=’你好’print(we.cell(1,2,’123123’).value) #設置cell的行號和列號和值,返回cell的值wb.save(’C:Userst_fulPycharmProjectstestelementt.xlsx’) #保存表格

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: python
相關文章:
主站蜘蛛池模板: 免费播放欧美毛片欧美a | 97视频免费公开成人福利 | 日韩在线视频不卡一区二区三区 | 亚洲欧美卡通成人制服动漫 | 国产91精品一区二区 | 牛人盗摄一区二区三区视频 | 国产三级小视频 | 国产精品99r8在线观看 | 精品国产一区二区三区久久影院 | 色久综合网 | 91精品国产薄丝高跟在线看 | 久久免费视频在线观看 | 我要看欧美精品一级毛片 | 欧美高清另类自拍视频在线看 | 国产精品成人自拍 | 成人久久影院 | 久久久久久一级毛片免费野外 | 久久久久琪琪精品色 | 久久久视频在线 | 亚洲第一视频在线播放 | 涩涩国产精品福利在线观看 | 亚洲品质自拍网站 | 波少野结衣在线播放 | 日韩高清一区二区 | 亚洲性视频网站 | 久久精品视屏 | 私人玩物福利 | 日韩美女强理论片 | 中文字幕综合在线 | 日本xxxxxxx69xx| 精品国产自在在线在线观看 | 午夜日本一区二区三区 | 手机免费看毛片 | 国产成人久久一区二区三区 | 亚洲一区欧美二区 | 国产亚洲精品自在线观看 | 成人小视频在线播放 | 美女一级毛片视频 | 亚洲人成网7777777国产 | 成人一级片 | 亚洲黄色性视频 |