读取Excel文件
一、python-xlrd【模块】
在xlrd模块中,将工作簿称之为Workbook。一个工作簿里面包含若干张工作表,在xlrd模块中,将工作表称之为Sheeet。每个表格由若干单元构成,xlrd模块中,将单位格称之为Cell
1、使用
下载:pip install xlrd
操作:*.xls
import xlrd
from xlutils.copy import copy
#打开excel文件
path = 'excel文件地址'
data = xlrd.open_workbook(path)
#根据下表获取相应的工作表
sheet = data.sheets()[index] index-输入下标
#工作表的总行数
rows = sheet.nrows
#工作表张总列数
cols = sheet.ncols
#获取工作表中某一行的数据
row_value = sheet.row_value(index) index-某一行
#写入数据
data.get_sheet(index).write(row,col,value)
#保存
data.save(path)
二、python-openpyxl【模块】
下载:pip install openxl
操作:*.xlsx
工作簿(workbook): 一个 Excel 电子表格文档;
工作表(sheet): 每个工作簿可以包含多个表, 如: sheet1, sheet2等;
活动表(active sheet): 用户当前查看的表;
列(column): 列地址是从 A 开始的;
行(row): 行地址是从 1 开始的;
单元格(cell): 特定行和列的方格;
import openpyxl
from openpyxl import load_workbook,Workbook
excel_file = load_workbook(r"C:\Users\郭晓华\Desktop\data.xlsx")
active_sheet = excel_file.active
print(excel_file,active_sheet)
# 按行读写
# 新建工作簿
# new_wb = Workbook()
new_wb = load_workbook(r"C:\Users\郭晓华\Desktop\data1.xlsx")
# 获取活动工作表
new_ws = new_wb.active
#按行读
staff_info = {}
for row in new_ws.iter_rows(min_row=2,max_row=4,values_only=True):
for i in row:
print(row,row[0])
member_number = i
staff_info[member_number] = {
'1':row[0],
'2':row[1],
'3':row[3]
}
s_id=row[0]
s_name=row[1]
print(staff_info,s_id,s_name)
# new_ws.append(i)
# new_wb.save(r"C:\Users\郭晓华\Desktop\data1.xlsx")
#获取单元格的值
performance = new_ws['A1'].value
# print(performance)
# 写入
active_sheet['F8'].value = performance
# 保存
excel_file.save(r"C:\Users\郭晓华\Desktop\data.xlsx")