python读写Excel

由于工作需要,需要对 Excel 数据进行一些预处理,所以随便写了一点 python 处理 Excel 的方法。。。

一、导入相应库

xlrd:读入Excel
xlwt:写入Excel

安装命令如下:

pip install xlrd
pip install xlwt

二、读入Excel

1. Excel表格内容

下图分别为 test.xlsx 的 sheet1 和 sheet2 数据:


这里写图片描述

2. 代码 code

# -*- coding: utf-8 -*-

import xlrd

#如果处理日期时间,import datetime
#from datetime import date,datetime

__author__ = 'Binchasing'

f1_name = 'test.xlsx'              #文件名
f1 = xlrd.open_workbook(f1_name)   #打开文件
print f1.sheet_names()             #打印所有Sheet名字
sheet1_name = f1.sheet_names()[0]  #Sheet1名字

# 根据索引or名称获取sheet内容
sheet1 = f1.sheet_by_index(0)       #获取sheet1内容
sheet2 = f1.sheet_by_name('Sheet2') #获取sheet2内容

# 分别显示sheet名字(.name),总行数(.nrows),总列数(.ncols)
print sheet1.name, sheet1.nrows, sheet1.ncols
print sheet2.name, sheet2.nrows, sheet2.ncols

#获取行or列内容
rows = sheet2.row_values(1) # 获取第2行内容
print rows
cols = sheet2.col_values(2) # 获取第3列内容
print cols

# 不同方式获取单元格内容(显示第3行第1列)
print sheet2.cell(2,0).value.encode('utf-8') 
print sheet2.cell_value(2,0).encode('utf-8')
print sheet2.row(2)[0].value.encode('utf-8')

# 获取单元格内容的数据类型
#python读取excel中单元格的内容返回的有5种类型ctype:
#ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

print sheet2.cell(1,0).ctype

3. 输出 output

[u'Sheet1', u'Sheet2']
Sheet1 12 5
Sheet2 16 3
[u'\u5e7f\u4e1c', 0.15358814900011789, 0.1531192108472316]
[u'\u6536\u8ba2\u5546\u54c1\u6570\u91cf', 0.1531192108472316, 0.09575012248494419, 0.0662265835916449, 0.06478424965797056, 0.06471695832224465, 0.043246131578273374, 0.04324150395611867, 0.04248287305338446, 0.04106440576789475, 0.0396537204291989, 0.036066907296305406, 0.03317248513899366, 0.03194612025991795, 0.028247799159356213, 0.024346356684779705]
北京
北京
北京
1
[Finished in 0.1s]

三、写入Excel

。。。。之后再更新

发布了31 篇原创文章 · 获赞 11 · 访问量 15万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章