Python 使用xlrd和xlwt库进行读写excel

今天我试着用xlrd 和 xlwt 进行读写excel文件,后来发现,xlrd可以正常读取excel文件,但是xlwt只支持生成.xls格式的文件,不支持生成.xlsx格式的文件,demo代码如下:
excelRead.py:

# coding=utf-8
import xlrd
def read_xlrd(excelFile,sheetIndex):
    data = xlrd.open_workbook(excelFile)
    table = data.sheet_by_index(sheetIndex)
    dataFile = []

    for rowNum in range(table.nrows):
        # if 去掉表头
        if rowNum > 0:
            if table.row(rowNum)[4].value == 'FROM~TO ':
                dataFile.append(table.row_values(rowNum))
            
        #    dataFile.Selection = table.row_values(rowNum)[0]
        #    dataFile.InternalName = table.row_values(rowNum)[1]
    print('read excel successful')
    return dataFile

excelWrite.py:

# coding=utf-8

import xlwt
# import numpy as np

# xlwt不支持.xlsx格式,可以支持 .xls 格式
def write_xlwt(newExcelFile, data):
    if data != []:
        workbook = xlwt.Workbook()
        worksheet = workbook.add_sheet('test')
        realRowNum = 0
        for rowNum in range(len(data)):
            a=0
            while a<10:
                worksheet.write(realRowNum, 0, data[rowNum][1])
                worksheet.write(realRowNum, 1, data[rowNum][3])
                worksheet.write(realRowNum, 2, data[rowNum][0])
                worksheet.write(realRowNum, 3, 'in')
                if a==0:
                    worksheet.write(realRowNum, 4, str(10*a) + '_' + str(10*a+9))
                    worksheet.write(realRowNum, 5, str(10*a) + ' - ' + str(10*a+9)+'=Most Likely to have')
                elif a==9:
                    worksheet.write(realRowNum, 4, str(10*a) + '_' + str(10*a+10))
                    worksheet.write(realRowNum, 5, str(10*a) + ' - ' + str(10*a+10)+'=Least Likely to have')
                else:
                    worksheet.write(realRowNum, 4, str(10*a) + '_' + str(10*a+9))
                    worksheet.write(realRowNum, 5, str(10*a) + ' - ' + str(10*a+9))
                worksheet.write(realRowNum, 6, str(a+1))
                worksheet.write(realRowNum, 7, 10)
                worksheet.write(realRowNum, 8, 0)
                worksheet.write(realRowNum, 9, 0)
                worksheet.write(realRowNum, 10, 0)
                worksheet.write(realRowNum, 11, 0)
                worksheet.write(realRowNum, 12, 1)

                realRowNum = realRowNum + 1 
                a = a + 1
    workbook.save(newExcelFile)
    print('save excel successful')

excelProcess.py:

# coding=utf-8
import excelRead
import excelWrite

if __name__ == '__main__':
    excelFile = 'C:\Users\Administrator\Desktop\InfoBase.xlsx'
    sheetIndex = 0
    dataFile = []
    newExcelFile = 'C:\Users\Administrator\Desktop\InfoBase4.xls'
    dataFile = excelRead.read_xlrd(excelFile=excelFile,sheetIndex=sheetIndex)
    # print(dataFile)
    excelWrite.write_xlwt(newExcelFile=newExcelFile, data=dataFile)

    # print(excelFunction.read_xlrd(excelFile=excelFile))

you can take a look.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值