Python读取Excel文件,较全面的总结,注意Excel文件有xlsx和xls之分
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python读取Excel文件,较全面的总结,注意Excel文件有xlsx和xls之分,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3741字,纯文字阅读大概需要6分钟。
内容图文
![Python读取Excel文件,较全面的总结,注意Excel文件有xlsx和xls之分](/upload/InfoBanner/zyjiaocheng/755/c7f8fa8e51b6483f9dc988b6b32541f5.jpg)
很久没来写博客了,前段时间操作Excel的时候,踩了一个大坑儿,决定把它弄明白。于是就又来了一次种搜的过程。现将部分成果分享如下。今天有点累,不说了,直接上代码。
# _*_ coding:utf-8 _*_
import xlrd
import xlwt
from xlutils.copy import copy
class ReadWriteExcel:
”“”
根据不同的需求读取Excel文件里的不同内容,可根据sheet/row/col/cell不同的粒度来读取
“”“
def __init__(self, file_path):
self.file_path = file_path
def read_dict_all(self, first_row, sheet_num):
”“”读取excel全部内容,返回字典!!!“”“
list = [] # 放每一行
dict_row = {} # 放每一行
list_sheet = [] # 放一个sheet
workbook = xlrd.open_workbook(self.file_path)
sheet = workbook.sheet_by_index(sheet_num - 1)
for row_index in range(first_row - 1, sheet.nrows):
row = sheet.row_values(row_index)
for cell in row:
list.append(cell)
dict_row = {'is_run': list[0], 'case_num': list[1], 'case_name': list[2], 'is_return': list[3],
'case_flag': list[4], 'method': list[5], 'url': list[6], 'header': list[7], 'body': list[8],
'para': list[9], 'expect': list[10], 'return_para': list[11]}
list_sheet.append(dict_row)
list = []
return list_sheet
def read_all(self, first_row):
“”“读取excel全部内容,放到列表里,返回一个列表:[sheet[row[col[]]]]”“”
list_row = []
list_sheet = []
list_book = []
workbook = xlrd.open_workbook(self.file_path)
for sheet in workbook.sheets():
for sheet_index in range(first_row - 1, sheet.nrows):
row = sheet.row_values(sheet_index)
for cell in row:
list_row.append(cell)
list_sheet.append(list_row)
list_row = []
list_book.append(list_sheet)
list_sheet = []
return list_book
def read_sheet(self, first_row, sheet_num):
“”“读取excel指定sheet内容,放到列表里”“”
list_row = []
list_sheet = []
sheet = xlrd.open_workbook(self.file_path).sheet_by_index(sheet_num - 1)
for row_index in range(first_row - 1, sheet.nrows):
for cell in sheet.row_values(row_index):
list_row.append(cell)
list_sheet.append(list_row)
list_row = []
return list_sheet
def read_row(self, list_rowNum, sheet_num):
“”“读取excel指定row内容,放到列表里”“”
list_row = []
list_rows = []
sheet = xlrd.open_workbook(self.file_path).sheet_by_index(sheet_num - 1)
for row_index in range(list_rowNum[0] - 1, list_rowNum[1]):
for cell in sheet.row_values(row_index):
list_row.append(cell)
list_rows.append(list_row)
list_row = []
return list_rows
def read_col(self, first_row, *args):
“”“读取excel指定的列”“”
print(args)
list_row = []
list_sheet = []
list_book = []
workbook = xlrd.open_workbook(self.file_path)
for sheet in workbook.sheets():
for row_index in range(first_row - 1, sheet.nrows):
for col_index in args:
list_row.append(sheet.cell_value(row_index, col_index - 1))
list_sheet.append(list_row)
list_row = []
list_book.append(list_sheet)
list_sheet = []
return list_book
def read_cell(self, sheet_num, row_num, col_num):
“”“读取excel指定的cell”“”
workbook = xlrd.open_workbook(self.file_path)
sheet = workbook.sheet_by_index(sheet_num - 1)
cell = sheet.cell_value(row_num - 1, col_num - 1)
return cell
def write_func(self, sheet_num, row_num, col_num, content):
“”“写入excel文件”“”
reader = xlrd.open_workbook(self.file_path)
workbook = copy(reader)
sheet = workbook.get_sheet(sheet_num - 1)
sheet.write(row_num - 1, col_num - 1, content)
workbook.save(self.file_path)
def testChange(self, first_row, *args):
data1 = args[0]
data2 = args[1]
goal = args[2]
from src.tools.ReadExcel import read_col
list_nums = read_col(self.file_path, first_row, data1, data2)
print(list_nums)
test = 1
for list_sheet in list_nums:
for j in range(len(list_sheet)):
list_num = list_sheet[j]
sum = int(list_num[0]) * int(list_num[1])
print(sum)
from src.tools.ReadExcel import write_func
write_func(self.file_path, test, j + 2, goal, sum)
test += 1
if __name__ == '__main__':
file_path = "/Users/helloworldliuyu/Desktop/nt1.xlsx"
dre = ReadWriteExcel()
”“”在下面做你要做的事“”“
内容总结
以上是互联网集市为您收集整理的Python读取Excel文件,较全面的总结,注意Excel文件有xlsx和xls之分全部内容,希望文章能够帮你解决Python读取Excel文件,较全面的总结,注意Excel文件有xlsx和xls之分所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。