python从一个excel文件中读取相关的内容到新的excel文件中

#coding:utf-8
'''
Created on 2019年8月
从一个excel文件中读取相关的内容保存到新的excel文件中,去掉已重复的名称
testWrite.xlsx和testRead.xlsx都在当前目录下
@author: test
'''

import xlsxwriter
import os
import xlrd

def readWriteExcel():
    workbook = xlsxwriter.Workbook(os.path.abspath(".") + '/testWrite.xlsx')  # 在当前目录下创建一个Excel文件
    worksheet = workbook.add_worksheet()  # 创建一个sheet
    title = [U'id', U'名称', U'备注']  # 表格title
    worksheet.write_row('A1', title)  # title 写入Excel

    i=1
    names = []
    ExcelFile=xlrd.open_workbook(r'testRead.xlsx') #文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符
    #获取sheet内容【1.根据sheet索引2.根据sheet名称】
    sheet=ExcelFile.sheet_by_index(0)
    #sheet=ExcelFile.sheet_by_name('Sheet1')
    #打印sheet的名称(sheet.name),行数(sheet.nrows),列数(sheet.ncols )
    for j in range(0,sheet.nrows):#行
        id = sheet.cell_value(j,0)#sheet.cell_value(i,0)数字返回的类型是float
        name = sheet.cell_value(j,1)
        desc = sheet.cell(j,2).value#.cell_value(i,2)=cell(i,2).value两种格式都可以
        if name not in names:
            names.append(name)
            i = i + 1
            row = 'A' + bytes(i)
        else:#名称相同的,把数据都替换掉
            for k in range(0, len(names) - 1):
                if name == names[k]:
                    break
            row = 'A' + bytes(k + 2)
        data = [id,name,desc]
        worksheet.write_row(row, data)#数据写入新的excel表格中
    workbook.close()#关闭
    
            
if __name__ == '__main__':
    readWriteExcel()

 

你可能感兴趣的:(python)