Python中Excel文件的读取与写入

读取操作步骤:
   (1)导入模块xlrd
     (2)打开工作簿Book
     (3)指定工作薄中的表单Sheet
   (4)根据行列序号读取内容

示例一:

代码展示

#实例一:读取Stu_pack中的Excel文件内容school.xls,将结果保存在以列表中
#(1)导入模块xlrd
import xlrd   
    
#   (2)打开工作簿Book
wb = xlrd.open_workbook('../Stu_pack/school.xls')
 
#  (3)指定工作薄中的表单Sheet
sheet=wb.sheet_by_index(0)    
    
    
# (4)根据行列序号读取内容
schools=[] #定义一个二维列表schools
for row in range(sheet.nrows):
    school =[]     #定义一个一维列表school
    for col in range(sheet.ncols):
        content = sheet.cell_value(row,col)
        school.append(content)
    schools.append(school)
    
#只读取前十的信息:
i=0
for school in schools:
    if i<12:        
        print(school)
        i =i+1

输出为

['招生单位代码', '招生单位名称', '所在省份', '是否985', '是否211', '是否自主划线', '学校类型']
['10001', '北京大学', '北京市', '是', '是', '是', '综合类']
['10002', '中国人民大学', '北京市', '是', '是', '是', '综合类']
['10003', '清华大学', '北京市', '是', '是', '是', '理工类']
['10004', '北京交通大学', '北京市', '否', '是', '否', '理工类']
['10005', '北京工业大学', '北京市', '否', '是', '否', '理工类']
['10006', '北京航空航天大学', '北京市', '是', '是', '是', '理工类']
['10007', '北京理工大学', '北京市', '是', '是', '是', '理工类']
['10008', '北京科技大学', '北京市', '否', '是', '否', '理工类']
['10009', '北方工业大学', '北京市', '否', '否', '否', '理工类']
['10010', '北京化工大学', '北京市', '否', '是', '否', '理工类']
['10011', '北京工商大学', '北京市', '否', '否', '否', '']

Excel文件的写入操作步骤:
(1)导入模块:xlwt
  (2)构造工作薄:Workbook
(3)为工作薄添加工作表:Worksheet
  (4)根据行列序号写入内容
(5)保存文件

示例二:将示例一读取的excel文件内容,写入到另一个Excel中并保存到R&Q_pic文件夹中,对学校所在省份进行简单判断。第一行合并单元格显示标题

代码展示

#(1)导入模块:xlwt
import xlwt
import xlrd
 
#(2)读取文件内容
def read_excel(file_name):
    wb = xlrd.open_workbook(file_name)
    sheet=wb.sheet_by_index(0)    
    schools=[] #定义一个二维列表schools
    for row in range(sheet.nrows):
        school =[]     #定义一个一维列表school
        for col in range(sheet.ncols):
            content = sheet.cell_value(row,col)
            school.append(content)
        schools.append(school)
    return schools
 
 
#(3)写入文件内容
def write_excel(school):
  #构造工作薄:Workbook并创建对象wb
    wb = xlwt.Workbook(encoding ='utf-8')
    
   #为工作薄添加工作表:Worksheet
    sheet=wb.add_sheet('上海市高校信息表')
    
    #根据行列序号写入内容
    sheet.write_merge(0,0,0,6,'上海市高校信息表')#合并单元格写入表头
    
    for col in range(7):                     #遍历写入工作表的列表名称(列表字段)
        sheet.write(1,col,schools[0][col])
        
    row_num =2
    for school in schools:
        if school[2]=='上海市':
            for col in range(7):
                sheet.write(row_num,col,school[col])
            row_num =row_num+1   #进行自加1   跳出内循环再加一
                
    wb.save('../R&Q_pic/上海市高校信息表.xls')  
 
#调用函数
school_list= read_excel('../Stu_pack/school.xls')
write_excel(schools)

输出为

['上海市高校信息表', '', '', '', '', '', '']
['招生单位代码', '招生单位名称', '所在省份', '是否985', '是否211', '是否自主划线', '学校类型']
['10246', '复旦大学', '上海市', '是', '是', '是', '综合类']
['10247', '同济大学', '上海市', '是', '是', '是', '理工类']
['10248', '上海交通大学', '上海市', '是', '是', '是', '综合类']
['10251', '华东理工大学', '上海市', '否', '是', '否', '理工类']
['10252', '上海理工大学', '上海市', '否', '否', '否', '理工类']
['10254', '上海海事大学', '上海市', '否', '否', '否', '理工类']
['10255', '东华大学', '上海市', '否', '是', '否', '理工类']
['10256', '上海电力学院', '上海市', '否', '否', '否', '理工类']
['10259', '上海应用技术大学', '上海市', '否', '否', '否', '理工类']
['10264', '上海海洋大学', '上海市', '否', '否', '否', '农林类']
['10268', '上海中医药大学', '上海市', '否', '否', '否', '医药类']
['10269', '华东师范大学', '上海市', '是', '是', '否', '师范类']
['10270', '上海师范大学', '上海市', '否', '否', '否', '师范类']
['10271', '上海外国语大学', '上海市', '否', '是', '否', '语言类']
['10272', '上海财经大学', '上海市', '否', '是', '否', '财经类']
['10273', '上海对外经贸大学', '上海市', '否', '否', '否', '']
['10274', '上海海关学院', '上海市', '否', '否', '否', '']
['10276', '华东政法大学', '上海市', '否', '否', '否', '政法类']
['10277', '上海体育学院', '上海市', '否', '否', '否', '体育类']
['10278', '上海音乐学院', '上海市', '否', '否', '否', '艺术类']
['10279', '上海戏剧学院', '上海市', '否', '否', '否', '艺术类']
['10280', '上海大学', '上海市', '否', '是', '否', '']
['10856', '上海工程技术大学', '上海市', '否', '否', '否', '理工类']
['11047', '上海立信会计金融学院', '上海市', '否', '否', '否', '']
['11458', '上海电机学院', '上海市', '否', '否', '否', '']
['11835', '上海政法学院', '上海市', '否', '否', '否', '']
['12044', '上海第二工业大学', '上海市', '否', '否', '否', '']
['80402', '上海国家会计学院', '上海市', '否', '否', '否', '']
['82707', '上海材料研究所', '上海市', '否', '否', '否', '']
['82717', '上海发电设备成套设计研究院', '上海市', '否', '否', '否', '理工类']
['82718', '上海内燃机研究所', '上海市', '否', '否', '否', '']
['82805', '上海核工程研究设计院', '上海市', '否', '否', '否', '']
['82937', '中国航空研究院640所', '上海市', '否', '否', '否', '']
['83009', '华东计算技术研究所', '上海市', '否', '否', '否', '']
['83285', '上海航天技术研究院(航天八院)', '上海市', '否', '否', '否', '']
['83502', '上海化工研究院', '上海市', '否', '否', '否', '']
['83901', '上海船舶运输科学研究所', '上海市', '否', '否', '否', '']
['84002', '电信科学技术第一研究所(上海)', '上海市', '否', '否', '否', '']
['84505', '上海生物制品研究所', '上海市', '否', '否', '否', '']
['85901', '中国医药工业研究总院', '上海市', '否', '否', '否', '医药类']
['86206', '中国船舶及海洋工程设计研究院', '上海市', '否', '否', '否', '']
['86207', '上海船舶设备研究所', '上海市', '否', '否', '否', '']
['86208', '上海船用柴油机研究所', '上海市', '否', '否', '否', '']
['86219', '上海船舶电子设备研究所', '上海市', '否', '否', '否', '']
['87901', '上海市计算技术研究所', '上海市', '否', '否', '否', '']
['87902', '上海国际问题研究院', '上海市', '否', '否', '否', '']
['87903', '上海社会科学院', '上海市', '否', '否', '否', '']
['89631', '中共上海市委党校', '上海市', '否', '否', '否', '']
['90030', '第二军医大学', '上海市', '否', '是', '否', '']

只输出前十行

代码展示

schools=read_excel('../R&Q_pic/上海市高校信息表.xls')
i=0
for school in schools:
    if i<12:        
        print(school)
        i =i+1

输出为

['上海市高校信息表', '', '', '', '', '', '']
['招生单位代码', '招生单位名称', '所在省份', '是否985', '是否211', '是否自主划线', '学校类型']
['10246', '复旦大学', '上海市', '是', '是', '是', '综合类']
['10247', '同济大学', '上海市', '是', '是', '是', '理工类']
['10248', '上海交通大学', '上海市', '是', '是', '是', '综合类']
['10251', '华东理工大学', '上海市', '否', '是', '否', '理工类']
['10252', '上海理工大学', '上海市', '否', '否', '否', '理工类']
['10254', '上海海事大学', '上海市', '否', '否', '否', '理工类']
['10255', '东华大学', '上海市', '否', '是', '否', '理工类']
['10256', '上海电力学院', '上海市', '否', '否', '否', '理工类']
['10259', '上海应用技术大学', '上海市', '否', '否', '否', '理工类']
['10264', '上海海洋大学', '上海市', '否', '否', '否', '农林类']

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值