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()

浙公网安备 33010602011771号