如何利用python批量提取txt文本中所需文本并写入excel

这里给出如何利用Python批量提取txt文本中所需文本并写入Excel的攻略,共分为五个步骤。

第一步

首先需要安装两个Python库,它们分别是pandas和glob,pandas用于将提取的内容写入Excel,glob用于遍历目标文件夹中的所有文件。

import pandas as pd
import glob

第二步

使用glob库来遍历目标文件夹下的所有txt文件,并逐个读取其文本。

# 遍历指定文件夹下的所有txt文件,用file_path来存储每个文件的路径
file_path_list = glob.glob("目标文件夹/*.txt")

# 用data_list列表存储所有文件中的所有文本内容
data_list = []
for fp in file_path_list:
    with open(fp, 'r', encoding='utf-8') as f:
        data = f.read()
        data_list.append(data)

第三步

对读取的文本进行处理,提取需要的内容。

# 对每个文件中的文本进行处理,并将处理结果存储在一个列表中
processed_data_list = []
for data in data_list:
    # 根据文本特点,使用正则表达式来提取需要的内容,并将其存储到processed_data_list列表中
    processed_data = process_text(data)
    processed_data_list.append(processed_data)

第四步

将提取的内容写入Excel。

# 将processed_data_list列表中所有元素依次写入Excel第一列中
df = pd.DataFrame(processed_data_list, columns=["数据"])
df.to_excel("结果.xlsx", index=False)

第五步

完整代码示例:

import pandas as pd
import glob

# 遍历指定文件夹下的所有txt文件,用file_path来存储每个文件的路径
file_path_list = glob.glob("目标文件夹/*.txt")

# 用data_list列表存储所有文件中的所有文本内容
data_list = []
for fp in file_path_list:
    with open(fp, 'r', encoding='utf-8') as f:
        data = f.read()
        data_list.append(data)

# 对每个文件中的文本进行处理,并将处理结果存储在一个列表中
processed_data_list = []
for data in data_list:
    # 根据文本特点,使用正则表达式来提取需要的内容,并将其存储到processed_data_list列表中
    processed_data = process_text(data)
    processed_data_list.append(processed_data)

# 将processed_data_list列表中所有元素依次写入Excel第一列中
df = pd.DataFrame(processed_data_list, columns=["数据"])
df.to_excel("结果.xlsx", index=False)

其中,process_text函数需要根据实际情况自己编写,其目的是对提取的文本进行处理、提取需要的内容。以下是两个示例:

示例1

假设目标文本中每行都有一个数字,现在需要提取这些数字,并将它们存储到一个列表中。

import re

def process_text(data):
    # 使用正则表达式提取文本中所有数字,并将它们存储在一个列表中
    pattern = r'\d+'
    numbers = re.findall(pattern, data)
    return numbers

示例2

假设目标文本中有很多行文字,每行文字中都有一些关键词,现在需要提取每行文字中的关键词,并将它们用逗号拼接起来,最终形成一个字符串。

def process_text(data):
    # 根据文本中的特点,使用split函数将文本拆分成多行
    lines = data.split('\n')
    final_result = []
    for line in lines:
        # 对每一行使用split函数拆分成多个单词,然后筛选出关键词存储到result列表中
        words = line.split(' ')
        result = []
        for word in words:
            if "关键词" in word:
                result.append(word)
        # 最后将result中的关键词用逗号拼接起来,存储到final_result列表中
        final_result.append(','.join(result))
    # 返回拼接好的字符串列表
    return final_result

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何利用python批量提取txt文本中所需文本并写入excel - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Spark DataFrame和Pandas DataFrame的区别

    Spark DataFrame和Pandas DataFrame都是用来处理数据的工具,但是它们有以下几个方面的不同。 编程语言和计算引擎 Spark DataFrame是使用Scala、Java或Python语言编写的,并由Spark计算引擎执行计算任务。Spark DataFrame被设计用于处理大量数据,并充分利用了分布式计算。 Pandas Data…

    python-answer 2023年3月27日
    00
  • Python Lambda函数使用总结详解

    Python Lambda函数使用总结详解 什么是Lambda函数 Lambda函数又称为匿名函数,是一种无需定义名称的小型函数,它可以被当作参数传递给其他函数。Lambda函数没有正式的函数声明和定义,它们是通过关键词 lambda 来定义的,并且通常在一行代码内完成。 Lambda函数在Python中可用于简化代码,减少代码的冗余性。 Lambda函数的…

    python 2023年5月14日
    00
  • 用Pandas Groupby模块创建非层次化的列

    Pandas是Python语言中经常使用的数据处理库,其中Groupby模块用于对数据集进行分组操作,可以通过Groupby模块创建非层次化的列来更好地呈现数据,以下是详细讲解: 1.导入Pandas模块 在使用Pandas Groupby模块之前,需要先导入相关模块,可通过以下方式进行导入: import pandas as pd 2.创建数据集 在对数据…

    python-answer 2023年3月27日
    00
  • python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现

    对于pandas中的DataFrame,我们可以使用选取、修改数据的方式来进行数据的处理和修改。针对DataFrame数据的选取和修改,使用.loc、.iloc、.ix这三种方式来实现是较为常见的做法。 .loc .loc是通过索引方式来取得数据,可以使用如下方式选取一列或多列数据: import pandas as pd # 创建一个DataFrame d…

    python 2023年5月14日
    00
  • 用谷歌表格和Pandas收集数据

    收集数据是数据分析的第一步,谷歌表格和Pandas是两种很好用的工具,分别可以用来进行在线数据收集和离线数据收集。 用谷歌表格进行数据收集 谷歌表格是一款在线的电子表格软件,允许用户通过浏览器访问,可以免费创建、编辑、保存和共享电子表格,支持多种文件格式。使用谷歌表格可以进行数据收集,具体步骤如下: 步骤一:创建谷歌表格 登录谷歌账号; 进入谷歌文档页面,选…

    python-answer 2023年3月27日
    00
  • 对dataframe进行列相加,行相加的实例

    针对对DataFrame进行列相加和行相加,下面是详细的攻略: DataFrame列相加 DataFrame列相加实际上是针对DataFrame的列进行对应相加,例如: import pandas as pd # 创建DataFrame df = pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8…

    python 2023年6月13日
    00
  • 如何使用Concat联合Pandas数据框架

    使用Concat函数可以将多个Pandas数据框架联合起来。具体地,Concat函数可以按照行方向或列方向联合数据框架,并将它们组合成一个新的数据框架。以下是Concat函数的基本语法: pd.concat([df1, df2], axis=0/1) 其中,df1和df2是待联合的两个数据框架,axis参数指定联合方向,可以为0或1。axis为0时,按行方向…

    python-answer 2023年3月27日
    00
  • 在Pandas中突出显示每一列的最大值

    首先,在Pandas中,要突出显示每一列的最大值,可以使用style.highlight_max()方法。该方法将每列的最大值突出显示,使其易于查看和分析。 下面是详细步骤: 1.导入Pandas模块 import pandas as pd 2.创建数据 data = {‘name’: [‘Tom’, ‘Jerry’, ‘Mickey’, ‘Minnie’]…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部