Python判断一个文件中的每一行的字符串是否包含于另外一个文件中字符串(不分行)并输出结果文件
时间: 2024-09-30 07:06:42 浏览: 28
在Python中,你可以通过逐行读取第一个文件(源文件),然后检查每行是否存在于第二个文件(查找文件)的内容中,最后将结果写入到第三个结果文件(如输出文件)。这里是一个基本的示例:
```python
# 导入需要的模块
with open('source.txt', 'r') as source_file, open('lookup.txt', 'r') as lookup_file, open('output.txt', 'w') as output_file:
# 读取查找文件的所有内容
lookup_lines = lookup_file.read().splitlines()
# 遍历源文件的每一行
for line in source_file:
# 如果当前行在查找文件中,则写入输出文件
if line.strip() in lookup_lines:
output_file.write(line + '\n')
```
这个脚本假设`source.txt`是要检查的源文件,`lookup.txt`是查找字符串的文件,而`output.txt`是保存结果的地方。`strip()`函数用于移除每行字符串前后的空白字符。
相关问题
python怎么判断字符串是不是一个txt文件当中每一行开头的字符串
可以通过以下步骤来判断字符串是否为一个txt文件中每一行开头的字符串:
1. 读取txt文件,将每一行的开头字符串存储到一个列表中。
2. 遍历列表,判断给定字符串是否与列表中的任何一个元素相等。
3. 如果存在相等的元素,则说明给定字符串是一个txt文件中每一行的开头字符串;如果不存在相等的元素,则说明给定字符串不是一个txt文件中每一行的开头字符串。
下面是一个示例代码:
```python
# 读取txt文件,将每一行的开头字符串存储到一个列表中
lines = []
with open('file.txt', 'r') as f:
for line in f:
lines.append(line.strip().split()[0])
# 判断给定字符串是否为一个txt文件中每一行的开头字符串
given_string = 'hello'
if given_string in lines:
print('给定字符串是一个txt文件中每一行的开头字符串')
else:
print('给定字符串不是一个txt文件中每一行的开头字符串')
```
python中如何在一个txt文件中找到含某个字符串的一行,并把这一行中这个字符串之后的数据按列输出到csv文件中
可以通过以下Python代码实现:
```python
import csv
# 打开txt文件和csv文件
with open('input.txt', 'r') as input_file, open('output.csv', 'w', newline='') as output_file:
# 创建CSV写入器
writer = csv.writer(output_file)
# 逐行读取txt文件
for line in input_file:
# 判断当前行是否包含指定字符串
if '指定字符串' in line:
# 切分当前行并将指定字符串之后的数据写入CSV文件
data = line.split('指定字符串')[1].strip().split()
writer.writerow(data)
```
其中,`input.txt`为输入的txt文件,`output.csv`为输出的csv文件,`指定字符串`为需要查找的字符串。代码中使用了Python内置的`csv`模块,可以方便地将数据写入CSV文件中。
阅读全文