txt2csv

导入必要的库

首先导入os和pandas库。os库用于处理文件和目录路径,pandas库则用于数据处理和CSV文件的生成。

定义输入和输出目录路径

指定了存放TXT文件的目录txt_directory和希望输出CSV文件的目录output_file_dir。确保输出目录存在,如果不存在,则使用os.makedirs()加上参数exist_ok=True来创建,避免因目录已存在而引发错误。

定义处理TXT文件并保存为CSV的函数

process_txt_to_csv(txt_path, output_dir)函数接收两个参数:TXT文件的路径和输出CSV文件的目录。
函数内部首先获取TXT文件的基本名称并替换.txt扩展名为.PDF.csv,用于构建输出CSV文件的名称。
之后,逐行读取TXT文件内容,每行作为一个记录,构建包含“页码”、“纯文本”和“位置文本”(这里留空,因为TXT文件不包含位置信息)的字典,并将所有字典添加到一个列表中。
使用pandas.DataFrame()将这个列表转换为DataFrame,然后利用to_csv()方法保存为CSV文件,其中index=False表示不保存索引列,encoding='utf-8-sig'确保CSV文件能够被Excel等软件正确打开,特别是对于包含中文等非ASCII字符的情况。


遍历目录并处理每个TXT文件

使用os.listdir()获取指定TXT目录下的所有文件名,然后通过endswith('.txt')检查文件是否为TXT文件。如果是,就调用前面定义的process_txt_to_csv()函数,处理该TXT文件并将其转换为CSV文件,保存在指定的输出目录中。

代码

import os
import pandas as pd

# 输入TXT文件的目录和输出CSV文件的目录
txt_directory = '/mnt/data/txt_files'
output_file_dir = '/mnt/data/txt2csv_normalized'

# 确保输出目录存在
os.makedirs(output_file_dir, exist_ok=True)


# 处理TXT文件并保存为CSV文件的函数
def process_txt_to_csv(txt_path, output_dir):
    txt_name = os.path.basename(txt_path).replace('.txt', '')
    output_csv_path = os.path.join(output_dir, f"{txt_name}.PDF.csv")

    text_content = []

    with open(txt_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()
        for page_num, line in enumerate(lines):
            text_content.append({'页码': page_num, '纯文本': line.strip(), '位置文本': ''})

    text_df = pd.DataFrame(text_content)
    text_df.to_csv(output_csv_path, index=False, encoding='utf-8-sig')


# 处理目录中的所有TXT文件
for file_name in os.listdir(txt_directory):
    if file_name.endswith('.txt'):
        txt_path = os.path.join(txt_directory, file_name)
        process_txt_to_csv(txt_path, output_file_dir)

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值