Python中的模块--读数据xlrd,写数据:xlwt、XlsxWriter

这篇博客介绍了Python中用于读写Excel的三个库:xlrd用于读取,xlwt用于简单写入,xlsxWriter支持更大量数据的写入。xlrd与xlwt在处理大数据时受限,而xlsxWriter则能处理更多行数据。通过示例代码展示了如何使用这三个库进行数据读取和写入操作。
摘要由CSDN通过智能技术生成

1.python中读取excel的xlrd

def demo(read_path):
    workbook = xlrd.open_workbook(read_path)  # 打开工作簿
    sheets = workbook.sheet_names()  # 获取工作簿中的所有表格
    worksheet = workbook.sheet_by_name(sheets[0])  # 获取工作簿中所有表格中的的第一个表格
    print(worksheet.nrows)
    print(worksheet.ncols)
    for j in range(1, worksheet.nrows): # 遍历要读的 excel
        source = worksheet.cell_value(j, 1) # 取出excel中第j行,第1列的元素
        print('---source: ', source)

2.python中读写入excel的xlwt

例子,基本写功能已经具备,简单够用:

def test(read_path, save_path):
    '''
    打印真实标签与预测标签的统计矩阵
    '''
    workbook = xlrd.open_workbook(read_path)  # 打开工作簿
    sheets = workbook.sheet_names()  # 获取工作簿中的所有表格
    worksheet = workbook.sheet_by_name(sheets[0])  # 获取工作簿中所有表格中的的第一个表格
    print(worksheet.nrows)
    print(worksheet.ncols)
    workbook1 = xlwt.Workbook()  # 新建工作簿
    sheet = workbook1.add_sheet('pred')
    for i in range(1, worksheet.nrows):
        label_str = worksheet.cell_value(i, 1)
        print('==: ', label_str)
        sheet.write(i, 1, label_str) # 将label_str写到sheet的第i行,第j列中
    workbook1.save(save_path)

3.python中读写入excel的xlsxWriter

为什么想起来用xlsxWriter?

在使用xlwt时,只能保存500行数据,而我需要保存2000数据,显然xlwt不满足我的需求,于是查到了这个xlsxWriter包。

跟xlwt的区别:读的时候xlwt没有输入路径,在save的时候,添加保存路径;xlsxwriter建立工作簿的时候要求路径,往文件中写入时,类似打开了一个文件,最后写完毕后,是close文件 。

    workbook1 = xlwt.Workbook()  # 新建工作簿
    sheet = workbook1.add_sheet('pred')

    workbook1.save(save_path)

xlsxWriter:

    workbook1 = xlsxwriter.Workbook(save_path)  # 新建工作簿
    sheet = workbook1.add_worksheet('pred')

    workbook1.close()

def demo(read_path, save_path):
    workbook1 = xlsxwriter.Workbook(save_path)  # 新建工作簿
    sheet = workbook1.add_worksheet('pred')
    workbook = xlrd.open_workbook(read_path)  # 打开工作簿
    sheets = workbook.sheet_names()  # 获取工作簿中的所有表格
    worksheet = workbook.sheet_by_name(sheets[0])  # 获取工作簿中所有表格中的的第一个表格
    print(worksheet.nrows)
    print(worksheet.ncols)
    for j in range(1, worksheet.nrows): # 遍历要读的 excel
        source = worksheet.cell_value(j, 3) # 取出excel中第j行,第3列的元素
        sheet.write(j, 0, worksheet.cell_value(j, 0)) # 写到新建的excel中
        sheet.write(j, 1, worksheet.cell_value(j, 1))
        sheet.write(j, 2, worksheet.cell_value(j, 2))
    workbook1.close()

xlsxwriter的功能不知这些,还能保存不同格式的的数据,详情可以参考下面的链接,暂时没有用到,因此这里不多说。

参考:

1.xlsxwriter: https://www.jianshu.com/p/32d6b528d5c5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值