Swift代码示例:让办公自动化更轻松

{"title":"Swift代码示例:让办公自动更轻松","content":"

很多人以为Swift只适合开发iOS应用,其实它也能在日常办公中派上用场。比如你经常要处理大量文本文件、重命名一堆报表,或者从日志里提取数据,写个小脚本就能省下半小时手动操作。

\n\n

用Swift处理CSV数据

\n

假设你每周都要从销售系统导出CSV文件,然后手动统计每个区域的总销售额。与其一次次打开Excel筛选,不如写个Swift脚本自动计算。

\n\n
import Foundation\n\nfunc calculateSales(byRegion filename: String) -> [String: Double] {\n    guard let content = try? String(contentsOfFile: filename, encoding: .utf8) else {\n        return [:]\n    }\n    \n    var salesData: [String: Double] = [:]\n    let lines = content.components(separatedBy: .newlines)\n    \n    for line in lines.dropFirst() {  // 跳过标题行\n        let parts = line.components(separatedBy: \",\")\n        if parts.count >= 3,\n           let amount = Double(parts[2]) {\n            let region = parts[1]\n            salesData[region, default: 0.0] += amount\n        }\n    }\n    \n    return salesData\n}\n\nlet result = calculateSales(byRegion: \"/Users/you/Desktop/sales.csv\")\nfor (region, total) in result {\n    print(\"\\(region): \\(total)\")\n}
\n\n

把这个脚本保存成sales.swift,终端里运行xcrun swift sales.swift,几秒就出结果。以后导出文件后直接拖进脚本目录,双击运行就行。

\n\n

批量重命名文件

\n

财务同事常把发票扫描件命名为“IMG_001.jpg”、“IMG_002.jpg”,看着头疼。用Swift可以按规则批量改名,比如加上日期和类别。

\n\n
import Foundation\n\nlet fm = FileManager.default\nlet dir = \"/Users/you/Desktop/invoices/\"\nlet files = try? fm.contentsOfDirectory(atPath: dir)\n\nfor (index, file) in (files ?? []).enumerated() {\n    let oldPath = dir + file\n    let newPath = dir + \"invoice_202410_\\(String(format: \"%03d\", index + 1)).jpg\"\n    try? fm.moveItem(atPath: oldPath, toPath: newPath)\n}
\n\n

跑完脚本,所有文件变成“invoice_202410_001.jpg”这种格式,归档查找方便多了。公司用Mac的同事都能试试,不需要装第三方工具。

\n\n

从日志提取关键信息

\n

技术支持每天要看服务器日志,找特定错误码。与其肉眼扫屏,不如让Swift帮你过滤。

\n\n
import Foundation\n\nfunc findErrors(in logFile: String, keyword: String) {\n    guard let content = try? String(contentsOfFile: logFile, encoding: .utf8) else { return }\n    \n    let lines = content.components(separatedBy: .newlines)\n    for line in lines {\n        if line.contains(keyword) {\n            print(line)\n        }\n    }\n}\n\nfindErrors(in: \"/var/log/app.log\", keyword: \"ERROR 500\")
\n\n

这种小脚本写一次能用几个月,遇到新需求改两行代码就行。Swift语法清晰,就算没学过的人看几遍也懂意思。

\n\n

别觉得编程离办公很远。会点Swift,就像多了一个能熬夜还不抱怨的助手。处理文档、整理数据、自动提醒,都能安排上。Mac自带Swift环境,打开终端就能开始写。”,"seo_title":"Swift代码示例:提升办公效率的小技巧","seo_description":"通过几个实用的Swift代码示例,展示如何用Swift脚本自动化处理办公中的重复任务,如分析CSV、批量重命名文件和解析日志。","keywords":"Swift代码示例,办公自动化,Swift脚本,Mac办公技巧,批量处理文件"}