本文目录导读:

“多文件合并处理”是一个很常见的需求,具体实现方式取决于你使用的工具(是编程、办公软件还是命令行)以及文件类型(文本、PDF、图片、视频等)。
以下分场景介绍几种最实用的处理方法:
命令行(最高效,适合程序员/批量处理)
这是处理大量文本或日志文件最快的方式。
-
文本文件(.txt, .log, .csv):
- Windows (PowerShell):
Get-Content *.log > combined.txt - Mac/Linux (Bash):
cat *.txt > combined.txt或cat file1.txt file2.txt > combined.txt - 去掉表头合并CSV(跳过后续文件的标题行):
tail -n +2 -q file2.csv file3.csv >> combined.csv(先把 file1.csv 复制进去,再追加后续文件)
- Windows (PowerShell):
-
PDF 文件:
- 工具:
pdfunite(Linux)或Ghostscript。 - 命令:
pdfunite file1.pdf file2.pdf output.pdf
- 工具:
Python 脚本(最灵活,适合复杂需求)
当合并规则复杂(如按条件、去重、特定编码)时,编程是最可靠的。
-
合并多个文本文件(带文件名标记):
import glob with open('merged.txt', 'w', encoding='utf-8') as outfile: for filename in glob.glob('*.txt'): # 匹配所有txt文件 outfile.write(f"--- {filename} ---\n") with open(filename, 'r', encoding='utf-8') as infile: outfile.write(infile.read()) outfile.write("\n\n") -
合并多个 Excel 表格(相同结构):
import pandas as pd import glob all_data = pd.DataFrame() for f in glob.glob('sales_*.xlsx'): df = pd.read_excel(f) all_data = pd.concat([all_data, df], ignore_index=True) all_data.to_excel('combined_sales.xlsx', index=False) -
合并多个视频文件(需要 ffmpeg): 先在命令行生成文件列表:
for f in *.mp4; do echo "file '$f'" >> mylist.txt; done再用 Python 调用:ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
办公软件(适合日常文档处理)
-
Microsoft Word:
- 打开第一个文档。
- 将光标放在末尾。
- 点击 插入 > 对象 > 文件中的文字。
- 选择多个 Word 文档,点击插入。注意:格式可能错乱。
-
Excel:
- Power Query(最推荐):
- 数据 > 获取数据 > 从文件 > 从文件夹。
- 选择包含 CSV/Excel 的文件夹。
- 点击 组合 > 合并并加载,它会自动识别相同列并追加行。
- 手动:复制第一张表,右键点另一个表标签 -> 移动或复制。
- Power Query(最推荐):
-
PDF:
- 使用 Adobe Acrobat:工具 > 合并文件。
- 免费在线工具:iLovePDF, Smallpdf(注意隐私)。
特殊场景
-
合并带有表头的 CSV 文件(只保留一个表头):
# Bash (Mac/Linux) head -n 1 file1.csv > combined.csv # 写入表头 tail -n +2 -q *.csv >> combined.csv # 跳过所有文件的表头追加内容
-
合并图片成 PDF:
- Windows: 选中所有图片,右键 -> 打印(打印机选 Microsoft Print to PDF)。
- Python: 使用
img2pdf库。
总结建议
| 你的场景 | 推荐方案 |
|---|---|
| 快速合并纯文本/日志 | 命令行(cat, Get-Content) |
| 合并 Excel/CSV 表格 | Python Pandas 或 Excel Power Query |
| 合并 PDF | 专用软件(Adobe, PDFsam)或在线工具 |
| 合并视频 | ffmpeg 命令行 |
| 需要复杂逻辑(去重/匹配) | Python 脚本 |
如果你能告诉我具体是哪种文件(txt、xlsx、pdf、mp4)以及你使用的操作系统(Windows/Mac/Linux),我可以给出精确到代码或按钮步骤的指导。