1.导入依赖库
import xlrd #读取excel
import xlwt #写入excel
2.读取excel
data = xlrd.open_workbook(r'人口.xlsx')
3.查看当前excel有哪些sheet
sheet = data.sheet_names()
print(sheet)
4.查看第一个sheet的名称
sheet1 = data.sheet_names()[0]
print(sheet1)
5.选择要操作第几个sheet,打印其名称、总行数、总列数
sheet1 = data.sheet_by_index(0)
print(sheet1.name)
print(sheet1.nrows)
print(sheet1.ncols)
6.选择要操作哪个sheet,打印其名称、总行数、总列数
sheet2 = data.sheet_by_name('Sheet1')
print(sheet2.name)
print(sheet2.nrows)
print(sheet2.ncols)
7.显示第一行、第一列
row = sheet2.row_values(0)
col = sheet2.col_values(0)
print(row)
print(col)
8.筛选想要的数据存入列表
li = []
for i in col[1:]:
# res = i.replace('\n', ' ')
# r = res.split(' ')
li.append(i)
print(li)
print(len(li))
9.打印第二行第一列
print(sheet1.cell(1,0).value)
print(sheet1.cell_value(1,0))
print(sheet1.row(1)[0].value)
10.打印数据类型
说明:0:empty, 1:string, 2:number, 3:date, 4:boolean, 5:error
print(sheet1.cell(1,0).ctype)
print(sheet1.cell(1,1).ctype)
print(sheet1.cell(1,2).ctype)
11.对列表中的数据进行去重
li_set = list(set(li))
print(li_set)
print(len(li_set))
12.统计去重后列表中每个元素出现的次数
li_1 = []
li_2 = []
for j in li_set:
li_1.append(j)
li_2.append(li.count(j))
print(li_1)
print(li_2)
13.将时间数据格式进行转换
from datetime import datetime,date
li_3 = []
for i in range(len(col)):
if sheet1.cell(i,2).ctype == 3 :
num = sheet1.cell(i, 2).value
date_value = xlrd.xldate_as_tuple(sheet1.cell(i, 2).value, data.datemode)
inp = date(*date_value[:3])
out = date(*date_value[:3]).strftime('%Y/%m/%d')
li_3.append(out)
print(out)
14.将数据写入excel
workbook = xlwt.Workbook(encoding = 'utf-8')
worksheet = workbook.add_sheet('data')
worksheet.write(0,0, label = '城市')
worksheet.write(0,1, label = '人口(万)')
worksheet.write(0,2, label = '日期')
for k in range(len(li_1)):
worksheet.write(k+1,0,li_1[k])
worksheet.write(k+1,1,li_2[k])
worksheet.write(k+1,2,li_3[k])
workbook.save('城市人口.xls')
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2621041184@qq.com