楼主: 小金刚嗯那
308 12

[统计软件与数据分析] 求助,什么办法可以批量把txt转换成excel [推广有奖]

11
煮酒问剑 在职认证  发表于 2024-4-28 15:22:20 |只看作者 |坛友微信交流群
可以使用Python来完成批量将TXT文件转换成Excel文件的任务,并且按照句子分割,每句作为Excel表格的一行。下面是一个简单的示例代码,展示了如何实现这个功能。这个例子使用了`pandas`和`openpyxl`库来创建和写入Excel文件,如果你的环境中没有这些库,请先使用`pip install pandas openpyxl`命令安装。

```python
import pandas as pd
import os
import re

# 定义一个函数来处理单个TXT文件的转换
def txt_to_excel(txt_file_path, excel_file_path):
    # 读取TXT文件内容
    with open(txt_file_path, 'r', encoding='utf-8') as file:
        content = file.read()

    # 使用正则表达式按句子分割文本
    # 这里假设句子以句号、问号或感叹号结束
    sentences = re.split(r'[。?!]\s*', content)
    # 过滤掉空字符串
    sentences = [s for s in sentences if s]

    # 创建一个DataFrame
    df = pd.DataFrame(sentences, columns=['句子'])

    # 将DataFrame保存到Excel文件
    df.to_excel(excel_file_path, index=False)

# 指定TXT文件所在的文件夹和目标Excel文件的保存文件夹
txt_folder_path = 'path/to/your/txt_files'
excel_folder_path = 'path/to/save/excel_files'

# 遍历TXT文件所在文件夹中的所有TXT文件
for txt_file in os.listdir(txt_folder_path):
    if txt_file.endswith('.txt'):
        # 构造TXT文件的完整路径和对应的Excel文件路径
        txt_file_path = os.path.join(txt_folder_path, txt_file)
        excel_file_name = txt_file.replace('.txt', '.xlsx')
        excel_file_path = os.path.join(excel_folder_path, excel_file_name)

        # 调用函数进行转换
        txt_to_excel(txt_file_path, excel_file_path)

        print(f'已转换文件:{txt_file} 到 {excel_file_name}')
```

这段代码首先定义了一个`txt_to_excel`函数,用于将单个TXT文件转换为Excel文件。然后,代码遍历指定文件夹中的所有TXT文件,并对每个文件调用这个函数进行处理。你需要将`txt_folder_path`和`excel_folder_path`变量的值替换为你自己的TXT文件所在的文件夹路径和希望保存Excel文件的目标文件夹路径。

注意,这个示例代码使用了一个简单的正则表达式来分割句子,它假设每个句子都以句号、问号或感叹号结束。这可能不适用于所有情况,因此你可能需要根据实际的文本内容调整正则表达式。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



使用道具

12
djunsheep 学生认证  发表于 2024-4-28 19:18:42 来自手机 |只看作者 |坛友微信交流群
小金刚嗯那 发表于 2024-4-28 12:56
你好,我试了一下,好像文件里有类似
一、xxxxx
1.1 xxxxx
还是那句话,除非你举的例子能完整包含所有的情况,不然还是建议你最好发一小段样本上来,不改变结构和格式的情况下自己替换一些字。来来回回搞不完的

使用道具

13
pcstar 发表于 2024-4-29 01:07:18 |只看作者 |坛友微信交流群
你可以使用Python中的pandas套件来批量将txt档案转换成Excel。首先,确保你已经安装了pandas套件。接着,你可以使用下面的程序代码,这个程序会读取指定目录下的所有txt档案,将其转换成DataFrame,然后储存成Excel档案。你需要将your_txt_directory和your_excel_directory分别改成txt档案所在的目录和Excel档案要储存的目录。程序会在Excel档案的名称中保留txt档案的名称,只是扩展名改为xlsx。
import pandas as pd
import os

# 设定txt档案所在的目录
txt_dir = 'your_txt_directory'

# 设定Excel档案要储存的目录
excel_dir = 'your_excel_directory'

# 确认目录存在,若不存在则建立目录
if not os.path.exists(excel_dir):
    os.makedirs(excel_dir)

# 取得txt目录下的所有档案
txt_files = os.listdir(txt_dir)

# 循环处理每个txt档案
for txt_file in txt_files:
    # 确认档案是txt档案
    if txt_file.endswith('.txt'):
        # 读取txt档案成为DataFrame
        df = pd.read_csv(os.path.join(txt_dir, txt_file), delimiter='\t')  # 如果txt档案的分隔符不是tab,请修改delimiter参数
        # 储存成Excel档案
        excel_file = os.path.splitext(txt_file)[0] + '.xlsx'  # 将txt文件名改为xlsx格式
        df.to_excel(os.path.join(excel_dir, excel_file), index=False)

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-17 08:22