九九乘法表写入到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:
continue
col=0 # 定义列号,每一行都是从0第一列开始写入
for j in i:
sheet.write(row,col,j)
col+=1
row+=1
3.关闭文件
f.close()
book.save('f.xls')