Python操作Excel文件
<p>1、读excel文件的核心代码</p>
<pre><code>import xlrd
#1 打开excel文件
def open_excel(filename):
workbook = xlrd.open_workbook(filename)
return workbook
#2 读数据
def read_row_value(workbook,tablename,row):
#2.1 打开这张表
table = workbook.sheet_by_name(tablename)
#2.2 读数据
result = table.row_values(row)
#2.3 返回数据
return result</code></pre>
<p>2、操作文件常用方法-xls</p>
<pre><code>读取Excel数据:import xlrd
写入Excel数据:import xlwt
打开excel文件:
book = xlrd.open_workbook("C:\\xxx\\TEET\\keru.xls")
# 获取\打开对应的表
table = book.sheet_by_name("表名")
print(table)
# 输出
# <xlrd.sheet.Sheet object at 0x0390EEB0>
读取表的行数:rows = table.nrows
读取表的列数:cols = table.ncols
print("行数:%s \n列数:%s"%(rows,cols))
读取整行的数据:row = table.row_values()
读取整行的数据:col = table.col_values()
读取单元格的数据:
cell_x1 = table.cell_value(0,0) #第0行,第0列数据
cell_x2 = table.cell_value(2,3) #第3行,第4列数据
创建workbook对象:
workbook = xlwt.Workbook(encoding = "utf-8",style_compression =0)
创建一个sheet对象,一个sheet对象对应excel文件中一张表格:
sheet = workbook.add_sheet("2",cell_overwrite_ok=True)
#cell_overwrite_ok 是能够覆盖单元表格的意思
向表中添加数据:
sheet.write(0,0,"hello") #向第1行第1列写入"hello"
保存:
workbook.save("位置参数:'filename_or_stream'")</code></pre>
<p>3、案例:创建一个Excel文件;打开文件;写入数据;读取数据;关闭文件;</p>
<pre><code>import xlrd
list = []
# 打开excel文件
book = xlrd.open_workbook("C:\\Users\\LKR\\Desktop\\keru\\keru.xlsx")
# 获取对应的表
table = book.sheet_by_name("Sheet1")
# print(table.row_values(1))
# print(table.nrows)
#读取数据
for i in range (0,table.nrows):
data = table.row_values(i)
list.append(data)
print(list)
# 输出
# [[111.0], [222.0], [333.0], [444.0], [555.0]]</code></pre>