python读取txt 并提取表中关键字所在行保存为excel
回答1:
Python读取txt文件并提取表中关键字所在行保存为Excel的方法如下:
首先,我们需要安装openpyxl库来操作Excel文件,可以使用以下命令在Python环境中安装openpyxl库:
pip install openpyxl
接下来,我们可以使用以下代码来读取txt文件并提取表中包含关键字的行保存为Excel:
import openpyxl
# 打开txt文件
with open('file.txt', 'r', encoding='utf-8') as file:
# 读取txt文件的所有行
lines = file.readlines()
# 创建一个新的Excel工作簿
workbook = openpyxl.Workbook()
# 选择第一个工作表
worksheet = workbook.active
# 遍历每一行
for line_index, line in enumerate(lines):
# 判断关键字是否在该行中
if '关键字' in line:
# 提取包含关键字的行并保存到Excel中
worksheet.append(line.split('\t')) # 如果行中的数据是通过制表符进行分隔的,可以使用split('\t')进行分割,如数据是通过其他方式分隔的,请替换分隔符
# 保存Excel文件
workbook.save('output.xlsx')
在上述代码中,我们通过open()
函数打开txt文件并使用readlines()
方法读取所有行。然后,我们使用openpyxl库创建一个新的Excel工作簿和工作表。接下来,我们遍历每一行并判断关键字是否在该行中。如果关键字存在于该行中,我们将使用append()
方法将该行数据添加到Excel工作表中。最后,我们使用save()
方法保存Excel文件。
请将代码中的file.txt
替换为你要读取的txt文件的路径,将关键字
替换为你要提取的关键字,将output.xlsx
替换为保存的Excel文件名。
回答2:
我们可以使用Python的pandas库来实现这个功能。首先,我们需要读取txt文件并将其存储为dataframe对象。接下来,我们可以使用pandas的过滤功能来提取包含关键字的行。最后,我们可以将结果保存为excel文件。
以下是实现上述功能的代码示例:
import pandas as pd
# 读取txt文件并将其保存为dataframe对象
df = pd.read_csv('input.txt', sep='\t', header=None)
# 提取包含关键字的行
keyword = '关键字'
filtered_df = df[df.apply(lambda row: keyword in row.to_string(), axis=1)]
# 将结果保存为excel文件
filtered_df.to_excel('output.xlsx', index=False, header=False)
在上述代码中,input.txt
是要读取的txt文件路径。你需要将其替换为你自己的文件路径。关键字
是你要提取的关键字,你也可以根据需要进行替换。最后,output.xlsx
是保存提取结果的excel文件路径。你可以根据自己的需求进行更改。
请确保在运行代码之前已经安装了pandas库。你可以使用以下命令来安装pandas:
pip install pandas
希望对你有所帮助!
回答3:
使用Python读取txt文件并提取表中关键字所在行保存为Excel,可以按照以下步骤操作:
导入所需模块:首先需要导入openpyxl、xlwt和codecs等模块,openpyxl用于创建和写入Excel文件,xlwt用于保存Excel文件,codecs用于读取txt文件。
打开txt文件:使用codecs模块中的open()函数打开待提取的txt文件,指定文件名和读取模式。
创建Excel文件:使用openpyxl模块创建一个新的Excel文件,可以使用Workbook()函数创建空白的Excel工作簿。
创建Excel表格并写入数据:使用openpyxl模块中的create_sheet()函数创建一个新的工作表,并使用append()函数将关键字所在行的数据写入到工作表中。
保存Excel文件:使用xlwt模块的save()函数保存修改后的Excel文件,指定文件名和保存路径。
下面是一个简单的示例代码:
import codecs
from openpyxl import Workbook
import xlwt
# 打开txt文件
with codecs.open('data.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# 创建Excel文件
wb = Workbook()
# 创建Excel表格并写入数据
sheet = wb.create_sheet(title='Sheet1')
for line in lines:
if '关键字' in line: # 根据关键字提取所在行
data = line.split('\t') # 假设数据以制表符分隔
sheet.append(data)
# 保存Excel文件
wb.save('result.xls')
以上代码将会读取名为data.txt的txt文件,提取包含关键字的行,并将其保存为result.xls的Excel文件。请注意,根据具体情况调整数据的分隔符和文件路径。
相关推荐












