九九乘法表写入到d.xls文件中
1.导入模块
import xlwt
2.创建工作薄对象
book=xlwt.Workbook()
3.根据book对象创建sheet标签页对象
sheet=book.add_sheet('jj')
4.写入内容
# 外层循环:控制乘法口诀表的行数
# range(1, 10) 生成一个从1到9的整数序列,共9个数,代表乘法口诀表的9行
for i in range(1, 10): # 里层循环:控制乘法口诀表的列数 # range(1, i+1) 根据外层循环变量i生成一个从1到i的整数序列 # 当i为1时,列数为1;当i为2时,列数为1到2;以此类推,直到i为9时,列数为1到9 for j in range(1, i + 1): # 调用sheet的write方法将乘法口诀写入单元格 # 单元格的位置由外层循环变量i和内层循环变量j决定,# 由于Excel的行列索引从0开始,所以使用i-1和j-1作为行列索引 # 乘法口诀的格式为"%d*%d=%d",其中%d是整数占位符,# 分别被j、i和j*i替换 sheet.write(i - 1, j - 1, "%d*%d=%d" % (j, i, j * i))
5.保存文件
book.save('d.xls')
读取d.xls文件中的数据,输出内容
1.导入模块
import xlrd
2.打开文件创建工作薄对象
book=xlrd.open_workbook('d.xls')
3.选择标签页对象
sheet=book.sheet_by_index(0)
4.读取数据
for i in range(sheet.nrows):cont=sheet.row_values(i)for j in cont:print(j,end='\t')print()for i in range(sheet.nrows): # 使用sheet的row_values方法获取指定行的所有单元格的值,返回一个包含这些值的列表 cont = sheet.row_values(i) # 遍历cont列表中的每一个元素(即每一行的每一个单元格的值) for j in cont: # 打印单元格的值,并在每个值之后添加一个制表符('\t'),使输出更加整齐 print(j, end='\t') # 当一行的所有单元格值都打印完毕后,打印一个换行符,使下一行的输出从新的一行开始 print()
练习:
将d.xls 转成 e.csv 文件
import xlrd,csv
1.打开文件
f=open('e.csv',mode='w')
csv_f=csv.writer(f)
book=xlrd.open_workbook('d.xls')
sheet=book.sheet_by_index(0)
2.读写操作: 读excel写csv
for i in range(sheet.nrows):csv_f.writerow(sheet.row_values(i))
3.关闭文件
f.close()
将e.csv 转成 f.xls 文件
import csv,xlwt
1.打开文件
f=open('e.csv',mode='r')
res=csv.reader(f)
book=xlwt.Workbook()
sheet=book.add_sheet('jj')
2.读写数据: 读csv 写xls
row=0 # 定义行号,从0开始
for i in res:if len(i)==0:continuecol=0 # 定义列号,每一行都是从0第一列开始写入for j in i:sheet.write(row,col,j)col+=1row+=1
3.关闭文件
f.close()
book.save('f.xls')