当前位置: 首页 > news >正文

15个实用的数据处理脚本,Python与Shell

15个实用的数据处理脚本,Python与Shell

# 15个实用的数据处理脚本,Python与Shell高效结合

## 1. 批量文件重命名脚本(Python)

```python
import os

def batch_rename(path, old_str, new_str):
for file in os.listdir(path):
if old_str in file:
new_file = file.replace(old_str, new_str)
os.rename(
os.path.join(path, file),
os.path.join(path, new_file)
)
print(f"Renamed: {file} -> {new_file}")

# 示例:将目录下所有包含"old_“的文件改为"new_”
batch_rename(“/path/to/files”, “old_”, “new_”)
```

## 2. 文本文件编码转换(Shell)

```bash
#!/bin/bash

# 将GB2312编码转换为UTF-8
for file in *.txt; do
iconv -f GB2312 -t UTF-8 “f i l e " > " file" > "file">"{file%.txt}_utf8.txt”
echo “Converted $file to UTF-8”
done
```

## 3. 数据去重脚本(Python)

```python
def remove_duplicates(input_file, output_file):
seen = set()
with open(input_file, ‘r’) as fin, open(output_file, ‘w’) as fout:
for line in fin:
if line not in seen:
seen.add(line)
fout.write(line)

# 示例使用
remove_duplicates(‘data.txt’, ‘dedup_data.txt’)
```

## 4. 文件批量下载(Shell)

```bash
#!/bin/bash

# 从URL列表下载文件
url_list=“urls.txt”
download_dir=“downloads”

mkdir -p “KaTeX parse error: Undefined control sequence: \- at position 34: …hile IFS= read \̲-̲r url; do …download_dir” “u r l " d o n e < " url" done < "url"done<"url_list”
```

## 5. JSON转CSV工具(Python)

```python
import json
import csv

def json_to_csv(json_file, csv_file):
with open(json_file) as f:
data = json.load(f)

with open(csv_file, ‘w’, newline=‘’) as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)

# 示例
json_to_csv(‘data.json’, ‘data.csv’)
```

(限于篇幅,后续脚本只展示核心代码片段)

## 6. 日志文件时间筛选(Shell)

```bash
grep -E “2023-07-[0-9]{2}” access.log > july_logs.txt
```

## 7. 图片批量压缩(Python)

```python
from PIL import Image
import os

def compress_images(input_dir, output_dir, quality=85):
for file in os.listdir(input_dir):
if file.endswith((‘.jpg’, ‘.jpeg’, ‘.png’)):
img = Image.open(os.path.join(input_dir, file))
img.save(os.path.join(output_dir, file), quality=quality)
```

## 8. 系统进程监控(Shell)

```bash
#!/bin/bash

# 监控CPU使用率超过50%的进程
top -b -n1 | awk ‘NR>7 && $9 > 50 {print $1 “\t” $9 “\t” $12}’
```

## 9. Excel数据合并(Python)

```python
import pandas as pd

def merge_excels(file_pattern, output_file):
all_data = pd.DataFrame()
for file in glob.glob(file_pattern):
df = pd.read_excel(file)
all_data = pd.concat([all_data, df])
all_data.to_excel(output_file, index=False)
```

## 10. 批量SSH命令执行(Shell)

```bash
#!/bin/bash

# 在多台服务器上执行相同命令
hosts=(“server1” “server2” “server3”)
command=“df -h”

for host in “${hosts[@]}”; do
echo “===h o s t = = = " s s h " host ===" ssh "host==="ssh"host” “$command”
done
```

## 11. 数据库备份脚本(Shell)

```bash
#!/bin/bash

# MySQL数据库备份
DB_USER=“user”
DB_PASS=“password”
DB_NAME=“database”
BACKUP_DIR=“/backups”

mysqldump -uKaTeX parse error: Undefined control sequence: \- at position 10: DB\_USER \̲-̲pDB_PASSD B _ N A M E ∣ g z i p > " DB\_NAME | gzip > "DB_NAMEgzip>"BACKUP_DIR/db_$(date +%Y%m%d).sql.gz"
```

## 12. 网页数据抓取(Python)

```python
import requests
from bs4 import BeautifulSoup

def scrape_links(url, selector):
r = requests.get(url)
soup = BeautifulSoup(r.text, ‘html.parser’)
return [a[‘href’] for a in soup.select(selector)]
```

## 13. 磁盘空间告警(Shell)

```bash
#!/bin/bash

threshold=80

df -h | awk -v t=$threshold ‘NR>1 {gsub(/%/,“”); if ($5 > t) print $1 " is " $5 “% full”}’
```

## 14. CSV数据清洗(Python)

```python
import pandas as pd

def clean_csv(input_file, output_file):
df = pd.read_csv(input_file)
# 填充空值
df.fillna(method=‘ffill’, inplace=True)
# 去除重复行
df.drop_duplicates(inplace=True)
df.to_csv(output_file, index=False)
```

## 15. 自动打包部署(Shell)

```bash
#!/bin/bash

# 自动构建并部署项目
project_dir=“/home/user/project”

cd “$project_dir” && \
git pull && \
npm install && \
npm run build && \
rsync -avz dist/ deploy@server:/var/www/html/
```

## 结语

这些脚本覆盖了日常数据处理中的常见需求,可以根据实际情况进行调整。Python适合复杂的数据处理任务,而Shell则在系统管理方面更胜一筹。两种语言结合使用,能大幅提升工作效率。

http://www.jsqmd.com/news/1204230/

相关文章:

  • Win10系统优化:8项关键设置提升性能与隐私
  • 郑州百达翡丽回收价格查询与各大平台实测排行(2026年7月最新) - 天价名表回收平台
  • SpringBoot配置安全进阶:自定义Jasypt探测与解析器实现动态密钥管理
  • 卡地亚中国官方售后服务中心|官方电话及服务网点地址权威信息通知(2026年7月更新) - 卡地亚服务中心
  • 宇舶中国官方售后服务中心|服务热线及完整维修地址权威信息通知(2026年7月更新) - 亨得利官方服务中心
  • 暗黑2存档编辑器终极手册:单机玩家的游戏体验革命
  • 2026 年中山夏令营推荐:军博营地军旅首选 - 云溪自乐
  • 2026年7月目前评价好的海外营销企业推荐,与海外媒体合作,提升营销效果 - 品牌推荐师
  • GPT-Live全双工语音模型:架构解析与自然对话实践
  • 具身认知:用身体作为研究仪器的调研方法论
  • LM358运放特性解析与24个经典电路应用
  • 二代身份证OCR技术原理与开发实践指南
  • C++17文件系统权限管理实战:7种场景解析与跨平台避坑指南
  • 美度中国官方售后服务中心|官方地址及24小时客服电话权威信息公告(2026年7月更新) - 亨得利官方服务中心
  • 杭州劳力士回收价格查询和各大平台实测排行(2026年7月最新) - 尊奢回收二奢平台
  • 基于N32微控制器的物联网天气显示系统开发指南
  • 3分钟实现音乐社交:让你的网易云音乐和QQ音乐在Discord上闪耀
  • 免费获取Windows HEVC视频扩展的PowerShell方法
  • 具身智能标注:构建机器人行动就绪的物理语义数据
  • E5-2696v3洋垃圾服务器KVM虚拟化实战指南
  • 2026 年中山夏令营有哪些:军博营地班次丰富 - 晚香时候
  • 杭州江诗丹顿回收价格查询与各大回收平台实测排行(2026年7月最新数据) - 收的高名表回收平台
  • GPT-5.4多模态架构与计算机操作能力解析
  • 2026年7月最新亨得利官方服务项目及价格查询|详细地址与服务电话权威信息通知 - 亨得利官方
  • Rider 2025 深度解析:.NET 多语言开发的语义级 IDE 转型
  • 东莞跨境电商培训证书有用吗?行业认证解读 - 东莞选校指南
  • 战术小队V10.5常见问题与优化方案
  • 2026年7月大柳塔铁皮岩棉管道保/府谷管道保温厂家推荐案例_陕西东联日盛建筑工程有限公司 - 品牌宣传支持者
  • WSL2安装与优化指南:提升跨平台开发效率
  • Java开发者利用AI构建一人公司的技术实践