Excel文件的读写

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