Python中的八个TXT文件自动化处理脚本:提升工作效率的必备工具

在数据处理、文本分析或日常工作中,我们经常需要处理TXT文件。Python作为一种强大的编程语言,提供了丰富的库和工具来帮助我们实现TXT文件的自动化处理。以下是八个实用的Python脚本,涵盖了TXT文件处理的常见任务,无论你是初学者还是经验丰富的开发者,都能从中找到有用的工具。

1. 合并TXT文件

当你有多个TXT文件需要合并成一个时,这个脚本非常有用。它读取指定目录下的所有TXT文件,并将它们的内容合并到一个新的TXT文件中。

import os  
  
def merge_txt_files(input_dir, output_file):  
    with open(output_file, 'w', encoding='utf-8') as outfile:  
        for filename in os.listdir(input_dir):  
            if filename.endswith(".txt"):  
                with open(os.path.join(input_dir, filename), 'r', encoding='utf-8') as infile:  
                    outfile.write(infile.read())  
                    outfile.write("\n")  # 可选:在文件之间添加换行符  
  
# 使用示例  
merge_txt_files('path/to/input/dir', 'path/to/output/merged.txt')
2. 分割TXT文件

有时,一个大的TXT文件需要被分割成多个较小的文件。这个脚本可以根据指定的行数或文件大小来分割TXT文件。

def split_txt_file(input_file, output_dir, lines_per_file=1000):  
    if not os.path.exists(output_dir):  
        os.makedirs(output_dir)  
      
    count = 1  
    with open(input_file, 'r', encoding='utf-8') as infile:  
        lines = infile.readlines()  
        for i in range(0, len(lines), lines_per_file):  
            with open(os.path.join(output_dir, f'split_{count}.txt'), 'w', encoding='utf-8') as outfile:  
                outfile.writelines(lines[i:i + lines_per_file])  
            count += 1  
  
# 使用示例  
split_txt_file('path/to/input/large.txt', 'path/to/output/dir')
3. 搜索并替换文本

在TXT文件中搜索并替换特定的文本是一个常见的任务。这个脚本允许你指定要搜索和替换的文本,以及要处理的文件。

def replace_text_in_file(file_path, old_text, new_text):  
    with open(file_path, 'r', encoding='utf-8') as file:  
        file_data = file.read()  
      
    new_data = file_data.replace(old_text, new_text)  
      
    with open(file_path, 'w', encoding='utf-8') as file:  
        file.write(new_data)  
  
# 使用示例  
replace_text_in_file('path/to/file.txt', 'old_text', 'new_text')
4. 统计TXT文件中的单词数

这个脚本可以统计TXT文件中的单词数量,以及每个单词出现的次数。

from collections import Counter  
import re  
  
def count_words_in_file(file_path):  
    with open(file_path, 'r', encoding='utf-8') as file:  
        words = re.findall(r'\b\w+\b', file.read().lower())  
    word_counts = Counter(words)  
    return word_counts  
  
# 使用示例  
word_counts = count_words_in_file('path/to/file.txt')  
for word, count in word_counts.items():  
    print(f'{word}: {count}')
5. 删除TXT文件中的空行

这个脚本可以删除TXT文件中的空行,使文件更加整洁。

def remove_blank_lines(file_path):  
    with open(file_path, 'r', encoding='utf-8') as infile:  
        lines = infile.readlines()  
      
    lines = [line for line in lines if line.strip()]  
      
    with open(file_path, 'w', encoding='utf-8') as outfile:  
        outfile.writelines(lines)  
  
# 使用示例  
remove_blank_lines('path/to/file.txt')
6. 添加行号到TXT文件

有时,我们需要在TXT文件的每一行前添加行号。这个脚本可以完成这个任务。

def add_line_numbers(file_path):  
    with open(file_path, 'r', encoding='utf-8') as infile:  
        lines = infile.readlines()  
      
    with open(file_path, 'w', encoding='utf-8') as outfile:  
        for i, line in enumerate(lines, start=1):  
            outfile.write(f'{i}: {line}')  
  
# 使用示例  
add_line_numbers('path/to/file.txt')
7. TXT文件转CSV

如果TXT文件的内容是按某种格式排列的,你可以将其转换为CSV文件,以便进行进一步的数据分析。

import csv  
  
def txt_to_csv(txt_file, csv_file, delimiter=','):  
    with open(txt_file, 'r', encoding='utf-8') as infile:  
        lines = infile.readlines()  
      
    with open(csv_file, 'w', newline='', encoding='utf-8') as outfile:  
        writer = csv.writer(outfile)  
        for line in lines:  
            writer.writerow(line.strip().split(delimiter))  
  
# 使用示例  
txt_to_csv('path/to/file.txt', 'path/to/output.csv', '\t')  # 假设TXT文件使用制表符作为分隔符
8. CSV转TXT

与上一个脚本相反,这个脚本将CSV文件转换为TXT文件。

def csv_to_txt(csv_file, txt_file, delimiter=','):  
    with open(csv_file, 'r', encoding='utf-8') as infile:  
        reader = csv.reader(infile)  
        lines = [delimiter.join(row) for row in reader]  
      
    with open(txt_file, 'w', encoding='utf-8') as outfile:  
        outfile.writelines(line + '\n' for line in lines)  
  
# 使用示例  
csv_to_txt('path/to/input.csv', 'path/to/output.txt')

这些脚本涵盖了TXT文件处理的多个方面,从基本的合并、分割、搜索替换到高级的数据转换和统计。无论你是需要处理大量的日志文件、数据报告还是简单的文本文件,这些脚本都能帮助你提高工作效率。根据你的具体需求,你可以直接使用这些脚本,或者在其基础上进行修改和扩展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值