使用 Python第三方库xlwt 读写数据到 Excel 工作表

1. 安装 xlwt 库
Python 写入数据到 Excel 工作簿中可以使用第三方库 xlwt. xlwt 拆分下来看就是 excel 和 write 的简化拼接,意思就是写数据到 Excel. 这个第三方库的 pip 安装命令如下所示:

pip install xlwt 

2. 使用 xlwt 库
使用 xlwt 写入到 Excel 工作簿支持两种扩展名:xls 和 xlsx. 这两种扩展名代表两种不同的 Excel 版本。 xlsx 为 Excel 2007 及以后的版本扩展名,它的最大支持行数为 1048576, 最大支持列数为 16384.

3. 从excel文件读数据

import xlrd
def import_excel():
    #打开需要读取的工作薄
    wb = xlrd.open_workbook('./datasets/test1.xlsx')
    sheet = wb.sheet_by_index(0) #用sheet变量指向工作薄里的第一个工作表
    
    tables = [] #创建一个空列表,存储Excel的数据
    for rown in range(sheet.nrows): #sheet.nrows指工作表里的数据行数
        array = {'road_name':'','bus_plate':'','road_type':'','site':''}
        array['road_name'] = sheet.cell_value(rown,0)
        array['bus_plate'] = sheet.cell_value(rown,1)
        array['road_type'] = sheet.cell_value(rown,2)
        array['site'] = sheet.cell_value(rown,3)
        tables.append(array)
    return tables

if __name__ == '__main__':
  #将excel表格的内容导入到列表中
  tables = import_excel()
  for i in tables:
    print(i)

4. 将数据写入EXCEL表格中

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年龄', '性别', '学号']

for i in range(len(name_list)):
    sheet.write(0,i, name_list[i])
    
data = [
    {
        'name': '华仔仔',
        'age': 12,
        'gender': '男',
        'xuehao': '001'
    },
    {
        'name': '华仔',
        'age': 15,
        'gender': '男',
        'xuehao': '002'
    },
    {
        'name': '帅气的华仔仔',
        'age': 18,
        'gender': '男',
        'xuehao': '003'
    },
    {
        'name': '华仔仔coding',
        'age': 20,
        'gender': '男',
        'xuehao': '004'
    }
]
for i, item in enumerate(data):  #遍历字典的每一项
    sheet.write(i+1, 0, item['name'])
    sheet.write(i+1, 1, item['age'])
    sheet.write(i+1, 2, item['gender'])
    sheet.write(i+1, 3, item['xuehao'])
# 保存文件
my_workbook.save('test.xlsx') #生成的工作薄test.xlsx与当前代码文件在同一个位置

5.比较两个结构相同的文件里面的内容是否相同

import xlrd
wb0 = xlrd.open_workbook('record_classifier0.xlsx')
sheet0 = wb0.sheet_by_index(0)
wb1 = xlrd.open_workbook('record_classifier1.xlsx')
sheet1 = wb1.sheet_by_index(0)

unequal_num=0 #不相同值的个数
for rown in range(sheet0.nrows):
    for i in range(4):
        cv0= sheet0.cell_value(rown,i)
        cv1= sheet1.cell_value(rown,i)
        if(cv0!=cv1):
            unequal_num += 1
print(unequal_num) 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值