在日常的工作中,我們總是會面臨到各式各樣的問題。
其中不少的問題,使用一些簡單的Python程式碼就能解決。
例如不久前的復旦大佬,用130行Python程式碼硬派搞定核酸統計,大大提升了效率,節省了不少時間。
今天,小F就帶大家學習10個Python腳本程式。
雖然簡單,不過還蠻有用的。
有興趣的可以自己去實現,找到對自己有幫助的技巧。
圖片格式轉換,以前小F可能第一時間想到的是【格式工廠】這個軟體。
如今寫一個Python腳本就能完成各種圖片格式的轉換,此處以jpg轉成png為例。
有兩種解決方法,都分享給大家。
# 图片格式转换, Jpg转Png # 方法① from PIL import Image img = Image.open('test.jpg') img.save('test1.png') # 方法② from cv2 import imread, imwrite image = imread("test.jpg", 1) imwrite("test2.png", image)
如果你有100個或更多的PDF檔案需要加密,手動進行加密肯定是不可行的,極其浪費時間。
使用Python的pikepdf模組,即可對文件進行加密,寫一個循環就能進行批次加密文件。
# PDF加密 import pikepdf pdf = pikepdf.open("test.pdf") pdf.save('encrypt.pdf', encryption=pikepdf.Encryption(owner="your_password", user="your_password", R=4)) pdf.close()
有加密那麼就會有解密,程式碼如下。
# PDF解密 import pikepdf pdf = pikepdf.open("encrypt.pdf",password='your_password') pdf.save("decrypt.pdf") pdf.close()
許多小夥伴可能會使用魯大師來看自己的電腦配置,這樣還需要下載一個軟體。
使用Python的WMI模組,便可以輕鬆查看你的電腦資訊。
# 获取计算机信息 import wmi def System_spec(): Pc = wmi.WMI() os_info = Pc.Win32_OperatingSystem()[0] processor = Pc.Win32_Processor()[0] Gpu = Pc.Win32_VideoController()[0] os_name = os_info.Name.encode('utf-8').split(b'|')[0] ram = float(os_info.TotalVisibleMemorySize) / 1048576 print(f'操作系统: {os_name}') print(f'CPU: {processor.Name}') print(f'内存: {ram} GB') print(f'显卡: {Gpu.Name}') print("n计算机信息如上 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑") System_spec()
就以小F自己的電腦為例,執行程式碼就能看到設定。
使用zipfile模組進行檔案解壓縮,同理也可以壓縮檔案。
# 解压文件 from zipfile import ZipFile unzip = ZipFile("file.zip", "r") unzip.extractall("output Folder")
幫助你將Excel工作表合併到一張表上,表格內容如下圖。
6張表,其餘表的內容和第一張表都一樣。
設定表格數量為5,將會合併前5張表的內容。
import pandas as pd # 文件名 filename = "test.xlsx" # 表格数量 T_sheets = 5 df = [] for i in range(1, T_sheets+1): sheet_data = pd.read_excel(filename, sheet_name=i, header=None) df.append(sheet_data) # 合并表格 output = "merged.xlsx" df = pd.concat(df) df.to_excel(output)
結果如下。
和先前的圖片格式轉換有點類似,就是對影像進行處理。
以前大家可能會使用到美圖秀秀,現在可能就是抖音的濾鏡了。
其實使用Python的OpenCV,就能夠快速實現很多你想要的效果。
# 图像转换 import cv2 # 读取图片 img = cv2.imread("img.jpg") # 灰度 grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) invert = cv2.bitwise_not(grey) # 高斯滤波 blur_img = cv2.GaussianBlur(invert, (7, 7), 0) inverse_blur = cv2.bitwise_not(blur_img) sketch_img = cv2.divide(grey, inverse_blur, scale=256.0) # 保存 cv2.imwrite('sketch.jpg', sketch_img) cv2.waitKey(0) cv2.destroyAllWindows()
原圖如下。
素描圖如下,還蠻好看的。
有了這個Python腳本,你將不需要任何軟體來了解CPU的溫度。
# 获取CPU温度 from time import sleep from pyspectator.processor import Cpu cpu = Cpu(monitoring_latency=1) with cpu: while True: print(f'Temp: {cpu.temperature} °C') sleep(2)
有的時候,我們需要從PDF中提取表格資料。
一時間你可能會先想到手工整理,但是當工作量特別大,手作可能就比較費勁。
然後你可能會想到一些軟體和網路工具來提取 PDF 表格。
下面這個簡單的腳本將幫助你在一秒鐘內完成相同的操作。
# 方法① import camelot tables = camelot.read_pdf("tables.pdf") print(tables) tables.export("extracted.csv", f="csv", compress=True) # 方法②, 需要安装Java8 import tabula tabula.read_pdf("tables.pdf", pages="all") tabula.convert_into("table.pdf", "output.csv", output_format="csv", pages="all")
PDF文件的內容如下,包含了一個表格。
提取到的CSV檔案內容如下。
該腳本將簡單地截取螢幕截圖,而無需使用任何螢幕截圖軟體。
在下面的程式碼中,給大家展示了兩種Python截取螢幕截圖的方法。
# 方法① from mss import mss with mss() as screenshot: screenshot.shot(output='scr.png') # 方法② import PIL.ImageGrab scr = PIL.ImageGrab.grab() scr.save("scr.png")
這個Python腳本可以進行拼字檢查,當然只對英文有效,畢竟中文博大精深吶。
# 拼写检查 # 方法① import textblob text = "mussage" print("original text: " + str(text)) checked = textblob.TextBlob(text) print("corrected text: " + str(checked.correct())) # 方法② import autocorrect spell = autocorrect.Speller(lang='en') # 以英语为例 print(spell('cmputr')) print(spell('watr')) print(spell('survice'))
以上是十個有趣的 Python 進階腳本,建議收藏!的詳細內容。更多資訊請關注PHP中文網其他相關文章!