这里给出如何利用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技术站