为什么显示sheet0没有定义呢,相貌sheet0的name不是定义了吗
本帖最后由 liuzg123 于 2020-7-19 19:10 编辑#1
import xlrd
#打开文件,获取EXCEL-WORKBOOK
workbook=xlrd.open_workbook("社会调查.xls")
names=workbook.sheet_names()
print(names)
worksheet=workbook.sheet_by_index(0)
print(worksheet)#<xlrd.sheet.Sheet obj>
worksheet=workbook.sheet_by_name("各省市")
print(worksheet)
sheet0_name=workbook.sheet_names()
print(sheet0_name)#各省市
#获取工作表基本信息,包括表名,行,列
name=worksheet.name #获取表名
print(name)#各省市
nrows=worksheet.nrows
print(nrows)
ncols=worksheet.ncols
print(ncols)
#按行或者列方式获取工作表的数据
for i in range(nrows):
print(worksheet.row_values(i))#以列表形式读出,列表中的每一项为STR类型
#['项目','财产收入','经营收入','衣','食','住','行']
col_data=worksheet.col_values(0)
print(col_data)
#获取表格中的数据,获取方式是行列坐标
cell_value1=sheet0.cell_value(0,0)
cell_value2=sheet0.cell_value(1,0)
print(cell_value1)#各省市
print(cell_value2)#北京市
cell_value1=sheet0.cell(0,0).value
print(cell_value1)#各省市
cell_value1=sheet0.row(0).value
print(cell_value)#各省市
import xlwt
book=xlwt.Workbook(encoding="utf-8",style_coppression=0)
#创建一个SHEET对象,一个SHEET对象对应EXCEL中的一张表格
sheet=book.add_sheet('测试表',cell_overwrite_ok=True)
sheet.write(0,0,'各省市') #其中的00指定表中的单元,‘各省市’是向该单元写内容
sheet.write(0,1,'工资收入')
因为你前面都没有创建 sheet0 呀, sheet0_name 是 sheet0_name 而不是 sheet0 你只定义了sheet0_name,而没有定义sheet0
把所有sheet0_name换成sheet0就可以了
页:
[1]