xlrd 和 xlwt 是 Python 的第三方库,它可以用来读写 Excel 中的数据,支持 .xls 和 .xlsx 的 EXCEL 格式
xlrd 和 xlwt 要是针对 Office 2013 或更早版本的 XLS 文件格式 ,对 xlsx 支持较弱。
xlrd
主要用于读取 EXCEL 中的信息 安装 xlrdpip <span class="hljs-keyword">install</span> xlrd <span class="hljs-comment">#在线安装xlrd</span>
导入模块
<span class="hljs-keyword">import</span> xlrd
打开指定的 Excel
方法 1:xxx.py 程序 和 xxx.xlsx 在同一目录
<span class="hljs-comment"># encoding : utf-8</span>
import xlrd
data = xlrd.open_workbook(<span class="hljs-string">"1.xlsx"</span>) <span class="hljs-comment">#获取EXCEL 工作簿对象</span>
方法 2:打开指定目录的 Excel
注意要这里的 ‘ / ’正斜杠 和 ‘ \ ‘ 反斜杠 ,r 代表不转义
在 Windows 系统中,正斜杠 / 表示除法,用来进行整除运算;反斜杠 \ 用来表示目录。
在 Unix 系统中,/ 表示目录;\ 表示跳脱字符将特殊字符变成一般字符(如 enter,$, 空格等)。
filepath=<span class="hljs-string">r'D:/python demo/text/1.xlsx'</span>
data = xlrd.open_workbook(filepath) <span class="hljs-comment">#获取EXCEL</span>
获取工作表
<span class="hljs-attr">sheet</span>= data.sheets()[<span class="hljs-number">0</span>] <span class="hljs-comment">#通过索引顺序获取 </span>
<span class="hljs-attr">sheet</span>= data.sheet_by_index(<span class="hljs-number">0</span>) <span class="hljs-comment">#通过索引顺序获取 </span>
<span class="hljs-attr">sheet</span>= data.sheet_by_name(<span class="hljs-string">'Sheet1'</span>) <span class="hljs-comment">#通过名称获取</span>
获取 Excel 总行数和总列数
nrows = sheet.nrows <span class="hljs-comment">#获取EXCEL表格中的总行数 </span>
ncols = sheet.ncols <span class="hljs-comment">#总列数</span>
获取指定行 的对象,返回一个 LIST 列表 第一行,列 的序号(坐标)为 0
row_list = sheet.row_values(0) <span class="hljs-comment">#返回第行的数据,用一个列表保存</span>
col_list = sheet.col_values(0) <span class="hljs-comment">#第一列</span>
循环列表中的数据,如下图
<span class="hljs-keyword">for</span> i in range(nrows):
<span class="hljs-keyword">print</span> (sheet.row_values(i))
<span class="hljs-string">''</span>
<span class="hljs-string">'
['</span>序号<span class="hljs-string">', '</span>下单时间<span class="hljs-string">', '</span>图片<span class="hljs-string">', '</span>品牌<span class="hljs-string">', '</span>码数<span class="hljs-string">', '</span>单价<span class="hljs-string">', '</span>汇率<span class="hljs-string">', '</span>境内运费<span class="hljs-string">', '</span>国际运费<span class="hljs-string">', '</span>总价<span class="hljs-string">']
['</span>A1<span class="hljs-string">', 42778.0, '</span>
<span class="hljs-string">', '</span>阿迪<span class="hljs-string">', 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
['</span>A2<span class="hljs-string">', 42779.0, '</span>
<span class="hljs-string">', '</span>耐克<span class="hljs-string">', 2.0, 2.0, 2.0, 2.0, 2.0, 2.0]
'</span>
<span class="hljs-string">''</span>
获取单元格 (CELL) 中的 数据,类型为 str ,有两种方法
A1=sheet.cell_value(0,0) <span class="hljs-comment">#方法1</span>
B2=sheet.cell(1,1).value <span class="hljs-comment">#方法2</span>
注意事项:
1、xlsx 中的图片信息不能读取,(测试不能读取,返回空字符串 ” )
2、如果你设在 Excel 中 设置了日期格式,需要进行转换,否则返回 EXCEL 日期的 常规数据形式
其他库,参考:http://www.gocalf.com/blog/python-read-write-excel.html