请写Python代码,实现以下功能: (1)读取txt文本,将字段按照分隔符“|”分隔开 (2)根据第11列的字段,若其字段结果包含了“分公司集中账号”或者“入格集中账号”,则提取对应的第2列字段。若第2列字段结果有“--”则不保留。将最终结果输出为txt文本。
时间: 2024-05-01 08:24:01 浏览: 104
以下是Python代码实现:
```python
with open('input.txt', 'r') as f: # 打开待处理的txt文件
lines = f.readlines() # 读取所有行
result = [] # 存储结果的列表
for line in lines:
fields = line.strip().split('|') # 去除首尾空格并按照分隔符“|”分隔字段
if '分公司集中账号' in fields[10] or '入格集中账号' in fields[10]:
if fields[1] != '--': # 如果第2列字段结果不为“--”
result.append(fields[1]) # 将第2列字段结果加入结果列表
with open('output.txt', 'w') as f: # 打开输出的txt文件
f.write('\n'.join(result)) # 将结果列表中的内容写入文件,每个结果一行
```
其中,`input.txt` 是待处理的txt文件,`output.txt` 是输出的txt文件。你可以根据实际情况修改这两个文件名。
相关问题
python读取txt文件如何使用多种分隔符
可以使用Python内置的re模块的split方法,通过正则表达式来实现多种分隔符的读取。
示例代码:
```python
import re
with open('file.txt', 'r') as f:
lines = f.readlines()
for line in lines:
fields = re.split('[,;|\t]', line.strip())
print(fields)
```
在上述代码中,使用了正则表达式`[,;|\t]`表示逗号、分号、竖线和制表符作为分隔符,使用`strip()`方法去掉每行末尾的换行符。然后通过for循环遍历每行,再通过split方法将每行按照分隔符分割成多个字段,并打印输出。
在Python中如何指定其他的分隔符读取CSV文件?
在Python中,读取CSV文件时,可以通过`csv`模块提供的`csv.reader`函数来指定其他的分隔符。默认情况下,CSV文件是以逗号(`,`)作为字段分隔符的,但有时候CSV文件中的分隔符可能是制表符(`\t`)、分号(`;`)或其他字符。这时,可以使用`delimiter`参数来指定一个不同的分隔符。
下面是一个使用`csv`模块指定其他分隔符读取CSV文件的例子:
```python
import csv
# 指定文件路径和自定义分隔符
file_path = 'example.csv'
custom_delimiter = ';'
# 打开CSV文件
with open(file_path, 'r', encoding='utf-8') as csvfile:
# 创建csv.reader对象,指定分隔符
csv_reader = csv.reader(csvfile, delimiter=custom_delimiter)
# 遍历CSV文件中的每一行
for row in csv_reader:
print(row)
```
在这个例子中,我们使用分号(`;`)作为字段分隔符来读取文件`example.csv`。通过`with`语句确保文件正确关闭,同时使用`encoding='utf-8'`参数来处理可能出现的编码问题。
需要注意的是,如果CSV文件中的内容包含引号包围的字段,那么该字段内部即使包含分隔符也会被视为单个字段。如果CSV文件使用的是不同的引号字符,还可以通过`quotechar`参数来指定。