python自动化

一、读写excel文件

1,读excel文件

 1 import xlrd
 2 
 3 #打开工作簿
 4 xlsx = xlrd.open_workbook('D:\\BaiduNetdiskDownload\\Python自动化办公\\源码\\01excel\\001_Excel_xlrd读_xlwt写\\7月下旬入库表.xlsx')
 5 #通过索引查找sheet:
 6 sheet0 = xlsx.sheet_by_index(0)
 7 sheet1 = xlsx.sheet_by_index(1)
 8 #通过sheet名查找:
 9 sheet0a = xlsx.sheet_by_name('7月下旬入库表')
10 #获取单元格内容的三种方法
11 print(sheet0.cell_value(1, 2))
12 print(sheet0.cell(1, 2).value)
13 print(sheet0.row(1)[2].value)
14 #获取单元格一行或者一列的切片
15 print(sheet0.row_values(1))
16 print(sheet0.col_values(1))
17 #获取sheet数量:
18 print(xlsx.nsheets)
19 #获取所有sheet名字:
20 print(xlsx.sheet_names())
21 #获取sheet的名称
22 print(sheet0.name)
23 #获取sheet的行数
24 print(sheet0.nrows)
25 #获取某一行的列数
26 print(sheet0.row_len(1))

2,写excel文件

 1 import xlwt
 2 
 3 #新建工作簿
 4 new_workbook = xlwt.Workbook()
 5 #新建sheet
 6 worksheet = new_workbook.add_sheet('new_test')
 7 #新建单元格,并写入内容
 8 worksheet.write(1, 1, 'test')
 9 #保存
10 new_workbook.save('D:\\BaiduNetdiskDownload\\Python自动化办公\\源码\\01excel\\001_Excel_xlrd读_xlwt写\\test2.xls')

3,先读后写excel文件

 1 import xlrd
 2 import xlwt
 3 
 4 #读取excel文件
 5 xlsx = xlrd.open_workbook('三年二班(各科成绩单).xls')
 6 #选择指定sheet
 7 sheet = xlsx.sheet_by_index(0)
 8 #依次单元格数据,并统计总分
 9 all_data = []
10 #统计共有多少学生,集合自动去重
11 num_set = set()
12 for row_i in range(1, sheet.nrows):
13     num = sheet.cell_value(row_i, 0)
14     name = sheet.cell_value(row_i, 1)
15     grade = sheet.cell_value(row_i, 3)
16 
17     student = {
18         'num': num,
19         'name': name,
20         'grade': grade,
21     }
22     all_data.append(student)
23     num_set.add(num)
24 
25 #计算总分
26 sum_list = []
27 for num in num_set:
28     name = ''
29     sum = 0
30     for student in all_data:
31         if num == student['num']:
32             sum += student['grade']
33             name = student['name']
34     sum_stu = {
35         'num': num,
36         'name': name,
37         'sum': sum
38     }
39     sum_list.append(sum_stu)
40 
41 #写入新的excel
42 
43 #新建工作簿
44 new_workbook = xlwt.Workbook()
45 #新建sheet
46 worksheet = new_workbook.add_sheet('2班')
47 #新建单元格,并写入内容
48 #写入第一行的表头
49 worksheet.write(0, 0, '学号')
50 worksheet.write(0, 1, '姓名')
51 worksheet.write(0, 2, '总分')
52 #自动写入后面的内容
53 for row in range(0,len(sum_list)):
54     worksheet.write(row+1,0,sum_list[row]['num'])
55     worksheet.write(row+1,1,sum_list[row]['name'])
56     worksheet.write(row+1,2,sum_list[row]['sum'])
57 #保存
58 new_workbook.save('2班学生总分.xls')

 二、读写文本文件

 1 import os
 2 
 3 #查看当前工作目录,修改当前工作目录
 4 os.getcwd()
 5 os.chdir('F:/个人文件夹/写作/python')
 6 
 7 #默认'r'读模式,'w'为覆写模式,'a'为追加模式,追加模式自己在前面加换行符\n
 8 f = open('sql.txt')
 9 #read读取整个文件为一个字符串,readline()每次读取一行为一个字符串,readlines()读取为每行的列表
10 data = f.read()
11 data1 = f.readlines()
12 data2 = f.readline()
13 #用完必须关闭
14 f.close()
15 
16 f = open('sql.txt', 'a')
17 #write()的参数为字符串格式
18 f.write('\nhuyuan love tianyuan')
19 f.close()
20 
21 f = open('sql3.txt', 'w')
22 f.write(data)
23 f.writelines(data1)
24 f.close()

 

posted @ 2020-12-08 17:09  星辰巫师  阅读(194)  评论(0)    收藏  举报