python 은 xlsxwriter 순환 을 사용 하여 엑셀 에 데이터 와 그림 을 삽입 하 는 작업 을 합 니 다.

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 은 엑셀 표 처리 에 대해 관련 라 이브 러 리 를 가 져 와 야 합 니 다:
(1)xls 형식의 표 파일 을 조작 합 니 다.
읽 기:xlrd
쓰기:xlwt
수정(추가 기록):xlutils
(2)xlsx 형식의 표 파일 을 조작 합 니 다.
읽 기/쓰기:openpyxl
*xls 를 조작 하 는 방법 으로 xlsx 파일 을 쓰 면 파일 이 손상 되 어 열 수 없습니다.반대로
(1)xls 형식 표 조작
1.엑셀 표 데이터 읽 기

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) #      
(2)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')  #    
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기