Python对Excel的读写操作

需要做一个疫情可视化的世界地图,从网上爬到的数据是每天的新增人数,需要每日的确诊人数,需要进行数据的累加,网上的帖子有的格式不好,有的内容太差,用起来不方便,万一以后对Excel操作就直接用。

xlrd库对excel的读操作

    导入模块 import xlrd 打开Exceldata = xlrd.open_workbook(r文件名.xlsx) 获得Sheet表
table = data.sheets()[0]     #通过索引顺序获取
table = data.sheet_by_index(sheet_indx))  #通过索引顺序获取
table = data.sheet_by_name(sheet_name) #通过名称获取
    获得sheet的名字,行数,列数
print(table.name, table.nrows, table.ncols)
    行操作与列操作
#获取该sheet中的有效行数
nrows = table.nrows  
#返回由该行中所有的单元格对象组成的列表
table.row(rowx)   
#返回该行的有效单元格长度
table.row_len(rowx) 
#返回由该行中所有单元格的数据类型组成的列表
table.row_types(rowx, start_colx=0, end_colx=None)    
#返回由该行中所有单元格的数据组成的列表
table.row_values(rowx, start_colx=0, end_colx=None)
#获取列表的有效列数
ncols = table.ncols   
#返回由该列中所有的单元格对象组成的列表
table.col(colx, start_rowx=0, end_rowx=None)  
#返回由该列中所有的单元格对象组成的列表
table.col_slice(colx, start_rowx=0, end_rowx=None)  
#返回由该列中所有单元格的数据类型组成的列表
table.col_types(colx, start_rowx=0, end_rowx=None) 
#返回由该列中所有单元格的数据组成的列表
table.col_values(colx, start_rowx=0, end_rowx=None)
    单元格操作 第一个单元格的坐标为cell(0,0)
table.cell(rowx,colx)   #返回单元格对象
table.cell_type(rowx,colx)    #返回单元格中的数据类型
table.cell_value(rowx,colx)   #返回单元格中的数据

xlwt库对Excel的写操作

    导入模块import xlwt 创建工作表
#创建workbook 对象
workbook = xlwt.Workbook(encoding=utf-8) 
#创建工作表sheet
worksheet = workbook.add_sheet(sheet1) 
#往表中写内容,第一各参数 行,第二个参数列,第三个参数内容
worksheet.write(row, col, label=content)
workbook.save(students.xls) #保存表为students.xls
    写指定单元格
#往表中写内容,第row行,第col列,写入内容content
worksheet.write(row, col, label=content)
    保存Excel 记得后缀名为xls xlsx打不开
#保存表为test.xls
workbook.save(text.xls)

问题总结

1.格式转换:cell单元格的内容text时,需要用str()函数转换成字符串形式才能操作 2.Excel的数字化日期是指现在距离1900/01/01以来的天数。 3.打开的Excel是不能进行写操作,需要关闭后才能操作 4.列表操作

list1 = []          # 空列表
list1.append(sheet0.cell(i, 1).value)
经验分享 程序员 微信小程序 职场和发展