def
excel():
wb
= xlrd.open_workbook(
'
F:\\script\\1024.xls
'
)
#
打开Excel文件
sheet = wb.sheet_by_name(
'
becks
'
)
#
通过excel表格名称(rank)获取工作表
dat = []
#
创建空list
for
a
in
range(sheet.nrows):
#
循环读取表格内容(每次读取一行数据)
cells = sheet.row_values(a)
#
每行数据赋值给cells
data=int(cells[0])
#
因为表内可能存在多列数据,0代表第一列数据,1代表第二列,以此类推
dat.append(data)
#
把每次循环读取的数据插入到list
return
dat
a
= excel()
#
返回整个函数的值
#
print(a)
def
test(a):
#
a变量传入
for
b
in
a:
#
循环读取a变量list
print
(b)
test(a)
print后结果
如下图列表(股票数据)
案例预期,读取每一行的股票代码(不读取第一行),循环打印出股票代码,完整代码如下
import xlrd #引入读取excel库
import xlwt #引入写入excel库
import requests #倒入requests库
from lxml import etree #倒入lxml 库(没有这个库,pip install lxml安装)
import os
import sys
path = os.path.abspath(os.path.dirname(sys.argv[0]))
def code():
wb = xlrd.open_workbook(path+'\\stock.xls')# 打开Excel文件
data = wb.sheet_by_name('Sheet1')#通过excel表格名称(rank)获取工作表
b=data.col_values(0)#获取第一列数据(数组)
list=[]
for c in b[1:]:#for循环,排除第一行数据
d=int(c)
s="%06d" % d#股票代码一共有6位,常规打印无法打印出首位带0的代码的0部分,补齐缺失的0
#print(s)
list.append(s)
return(list)
code=code()
print(code)
关键信息:
读取表格数据后,获取第一列数据(获取第一行数据的方法“b=data.raw_values(0)”
data = wb.sheet_by_name('Sheet1')#通过excel表格名称(rank)获取工作表
b=data.col_values(0)#获取第一列数据(数组)
不取第一行数据
for c in b[1:]:#for循环,排除第一行数据
读取数据格式化后,发现打印出来的数据000xxx代码不会显示000的内容
所以直接强制定义每一次循环打印的数据都必须为6位,不足6位的数据左边0补位
d=int(c)
s="%06d" % d#股票代码一共有6位,常规打印无法打印出首位带0的代码的0部分,补齐缺失的0
参考:https://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html