环境:python3
表格message.xlxs如图所示:
代码如下:
import xlrd
def wangpeixun():
# 获取表格
excel=xlrd.open_workbook(r"./message.xlsx")
# 获取Sheet2表格页
sheet=excel.sheet_by_name("Sheet2")
# 获取当前页的行数
row=sheet.nrows
lists=[]
for i in range(row):
if i==0:
pass
else:
dic = {}
list=sheet.row_values(i)
dic["姓名"]=list[0]
dic["年龄"]=list[1]
dic["性别"]=list[2]
lists.append(dic)
return lists
如果表格是csv文件,则打开方式如下:
import csv
with open("test.csv","r",encoding="utf-8") as csvfile:
read = csv.reader(csvfile)
for i in read:
print(i)
如果csv表格过大,读取失败,请在代码前面加上以下内容:
import sys
import csv
maxInt = sys.maxsize
decrement = True
while decrement:
decrement = False
try:
csv.field_size_limit(maxInt)
except OverflowError:
maxInt = int(maxInt / 10)
decrement = True
如果只是想打印表格的特定行,例如读取一个大表格,指向打印出第2行:
import csv
with open("test.csv","r",encoding="utf-8") as csvfile:
read = csv.reader(csvfile)
for i,rows in enumerate(read):
# 打印第二行
if i == 1:
row = rows
print(row)
将数据写入表格的方法如下:
import xlwt
myWorkbook = xlwt.Workbook()
mySheet = myWorkbook.add_sheet('Sheet1',cell_overwrite_ok=True)
rows=0
dic_data=[[1,2],[2,8],[4,3],[9,3]]
for i in dic_data:
mySheet.write(rows, 0, i[0]) # 参数分别为(行 列 值)
mySheet.write(rows, 1, i[1])
rows+=1
myWorkbook.save('tests.xlsx') # 每写一行,保存一次