python中自动化办公 【笔记】
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python中自动化办公 【笔记】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                00讀取csv文件
import csv def readCsv(path):infolist = []with open (path,"r") as f:allFileInfo = csv.reader(f)print(allFileInfo)for row in allFileInfo:infolist.append(row)return infolistpath =r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\2、讀寫csv文件\000001.csv" info = readCsv(path) # [[],[],[]]01寫csv文件
import csvdef writeCsv(path,data):with open(path,"w")as f:write = csv.writer(f)for rowData in data:print("*********")write.writerow(rowData)path =r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\2、讀寫csv文件\000003.csv" writeCsv(path, [[1,2,3],[4,5,6],[7,8,9]])02讀取pdf文件
import sys import importlib importlib.reload(sys)from pdfminer.pdfparser import PDFParser, PDFDocument from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LTTextBoxHorizontal, LAParams from pdfminer.pdfinterp import PDFTextExtractionNotAlloweddef readPDF(path,topath):#以二進制打開pdf文件f = open(path,"rb")#創建一個PDF文檔分析器parse = PDFParser(f)#創建PDF文檔pdfFile = PDFDocument()#鏈接 分析器與文檔對象 互相連接parse.set_document(pdfFile)pdfFile.set_parser(parse)#提供初始化密碼pdfFile.initialize()#檢測文檔是否提供txt轉換if not pdfFile.is_extractable:raise PDFTextExtractionNotAllowedelse:#解析數據#數據管理器manager = PDFResourceManager()#創建一個PDF設備的對象laparams= LAParams()device = PDFPageAggregator(manager,laparams=laparams)#解釋器對象interpreter = PDFPageInterpreter(manager,device)#開始循環處理,每次處理一頁for page in pdfFile.get_pages():interpreter.process_page(page)layout =device.get_result()for x in layout:if (isinstance(x,LTTextBoxHorizontal)):with open(topath,"a")as f:str = x.get_text()# print(str)f.write(str+"\n")topath=r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\a.txt" path =r"D:\xiazaipan\第1章 Python語言基礎\16、py2與py3的區別和測試\0-作業\文件的封裝\sunck.pdf" readPDF(path,topath)03播放音樂
#pip install pygameimport time import pygame#音樂路徑 filePath = r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\7、播放音樂\res\0.mp3"# 初始化 pygame.mixer.init()#加載音樂 track = pygame.mixer.music.load(filePath)#播放 pygame.mixer.music.play()# time.sleep(5) pygame.mixer.music.pause()#暫停 #停止 pygame.mixer.music.stop()04修改背景圖片
# win鍵加R ->regedit ->HKEY_CURRENT_USER-> #Control panel->Desktop->import win32api import win32con import win32guidef setWallPaper(path):#打開注冊表reg_key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)#2拉伸 0居中 6適應 10填充win32api.RegSetValueEx(reg_key,"WallpaperStyle",0,win32con.REG_SZ,"6")## win32api.RegSetValueEx(reg_key,)# win32api.RegSetValueEx(reg_key,"WallPaper" )# win32con.SPIF_SENDWININICHANGE立即生效win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,path,win32con.SPIF_SENDWININICHANGE)# 圖片地址 setWallPaper(r"")05整蠱程序
import time import pygame import win32api import win32con import win32gui import threadingdef go():pygame.mixer.init()while 1:for i in range(5):filePath =\r"H:\QIANfeng code\17自動化辦公鼠標鍵盤模擬\res"+"\\"+str(i)+".mp3"track = pygame.mixer.music.load(filePath)pygame.mixer.music.play()time.sleep(10)pygame.mixer.music.stop()def setWallPaper(path):reg_key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)win32api.RegSetValueEx(reg_key,"WallpaperStyle",0,win32con.REG_SZ,"6")win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,path,win32con.SPIF_SENDWININICHANGE) #線程 th = threading.Thread(target = go ,name ="LoopThread") th.start() while True:go()for i in range(9):filePath = r"H:\QIANfeng code\17自動化辦公鼠標鍵盤模擬\res1"+"\\"+str(i)+".jpeg"print(filePath)setWallPaper(filePath)time.sleep(5)06鍵盤模擬
import win32con import win32api import time''' win32api.keybd_event(91,0,0,0) time.sleep(0.1) win32api.keybd_event(91,0,win32con.KEYEVENTF_KEYUP,0) ''' while 1 :win32api.keybd_event(91,0,0,0)time.sleep(0.1)win32api.keybd_event(77,0,0,0)time.sleep(0.1)win32api.keybd_event(77,0,win32con.KEYEVENTF_KEYUP,0)win32api.keybd_event(91, 0, win32con.KEYEVENTF_KEYUP, 0)time.sleep(3)07語音控制游戲
08鼠標模擬
import win32con import win32api import timewin32api.SetCursorPos([30,40]) time.sleep(0.1) #鼠標左鍵按下 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0) #鼠標左鍵抬起 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0)09讀取doc與docx文件
import win32com import win32com.clientdef readWordFile(path):#調用系統word功能,可以處理doc和 docx兩種文件mw = win32com.client.Dispatch("Word.Application")#打開文件doc = mw.Documents.Open(path)for paragraph in doc.Paragraphs:line = paragraph.Range.Textprint(line)#關閉文件doc.Close()#退出文件mw.Quit()path = r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\4、word自動化辦公\sunck.doc" readWordFile(path)10讀取doc與docx文件并寫入其他文件
import win32com import win32com.clientdef readWordFile(path):mw = win32com.client.Dispatch("Word.Application")doc = mw.Documents.Open(path)#將word的數據保存到另一個文件doc.SaveAs(toPath,2)#2表示txt文件doc.Close()mw.Quit()toPath = r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\4、word自動化辦公\1.txt"11創建word文件
import win32com import win32com.client import osdef makeWordFile(path,name):word = win32com.client.Dispatch("Word.Application")#創建文檔doc = word.Documents.Add()#文檔可見word.Visible = True#寫內容#從頭開始寫r = doc.Range(0,0)r.InsertAfter("親愛的"+name+"\n")r.InsertAfter("想你")#存儲文件doc.SaveAs(path)#關閉文件doc.Close()#退出文件# word.Quit()names = ["zhangsan","lisi","wangwu"] for name in names:path = os.path.join(os.getcwd(),name)makeWordFile(path,name)path = r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\4、word自動化辦公"12讀取xlsx文件
#xlsx xls #openpyxl->xlsxfrom openpyxl.reader.excel import load_workbookdef readXlsxFile(path):file= load_workbook(filename = path)print(file.get_sheet_names())sheets = file.get_sheet_names()#拿出一個表格sheet = file.get_sheet_by_name(sheets[0])#最大行數print(sheet.max_row)#最大列數print(sheet.max_column)#表名print(sheet.title)for lineNum in range(1,sheet.max_row+1):print(lineNum)lineList = []for columnNum in range(1,sheet.max_column):#拿數據value = sheet.cell(row=lineNum,column = columnNum).value# if value!=None:lineList.append(value)print(lineList)path= r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\5、excel自動化辦公\1.xlsx" readXlsxFile(path)13返回整體xlsx數據
# xlsx xls # openpyxl -> xlsxfrom openpyxl.reader.excel import load_workbookdef readXlsxFile(path):dic = {}file = load_workbook(filename=path)sheets = file.get_sheet_names()print(len(sheets))for sheetName in sheets:sheet = file.get_sheet_by_name(sheetName)#一張表的所有數據sheetInfo = []for lineNum in range(1, sheet.max_row + 1):lineList = []for columnNum in range(1, sheet.max_column + 1):value = sheet.cell(row=lineNum, column=columnNum).valuelineList.append(value)sheetInfo.append(lineList)#將一張表的數據存到字典dic[sheetName] = sheetInforeturn dic#不能處理xls文件 path = r"" dic = readXlsxFile(path) print(dic["安力博發"]) print(len(dic))14返回xls和xlsx文件內容
#有序字典 from collections import OrderedDict #讀取數據 from pyexcel_xls import get_datadef readXlsAndXlsxFile(path):dic = OrderedDict()#抓取數據xdata = get_data(path)for sheet in xdata:dic[sheet]= xdata[sheet]return dicpath= r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\5、excel自動化辦公\1.xlsx" dic = readXlsAndXlsxFile(path) print(dic) print(len(dic))15寫入xls文件
#有序字典 from collections import OrderedDict #讀取數據 from pyexcel_xls import get_data from pyexcel_xls import save_datadef makeExcelFile(path,data):dic = OrderedDict()for sheetName,sheetValue in data.items():d= {}d[sheetName]=sheetValuedic.update(d)save_data(path,dic)#只能寫xls path= r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\5、excel自動化辦公\11.xls" makeExcelFile(path,{"表1":[[1,2,3],[4,5,6]],"表2":[[11,22,33],[44,55,66]]})16寫ppt
import win32com import win32com.clientdef makeppt(path):ppt = win32com.client.Dispatch("PowerPoint.Application")ppt.Visible=True#增加一個文件pptFile = ppt.Presentations.Add()#創建頁 參數1為頁數 參數2為主題類型page1 = pptFile.Slides.Add(1,1)#正標題副標題 就兩個t1 = page1.Shapes[0].TextFrame.TextRanget1.Text = "Liuwang "t2 = page1.Shapes[1].TextFrame.TextRanget2.Text = "Liuwang is a good man "# 第二頁page2 = pptFile.Slides.Add(2, 2)t3 = page2.Shapes[0].TextFrame.TextRanget3.Text = "LiuGE "t4 = page2.Shapes[1].TextFrame.TextRanget4.Text = "LiuGE is a good man "#保存pptFile.SaveAs(path)pptFile.Close()ppt.Quit()path = r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與鼠標鍵盤模擬\4、word自動化辦公" makeppt(path)?
總結
以上是生活随笔為你收集整理的python中自动化办公 【笔记】的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Linux基本操作【作业】
 - 下一篇: 【源码】采用PI反馈控制的DC-DC降压