我有一个存储四列数据的txt文件,使用python,我想按照第二列id对数据进行删选,如果id只对应一个数据,则舍去这个id对应的数据,同一个id对应的高于一个数据,则保留这个id对应的数据,重新保存在一个txt文件里
时间: 2024-09-14 18:12:58 浏览: 40
要使用Python对文本文件中的数据按照第二列的id进行筛选并保存,可以使用以下步骤:
1. 读取文本文件,使用逗号或其他分隔符将每一行分割成列。
2. 将每行数据按照第二列的id分组。
3. 对每个id对应的多个数据进行检查,如果数据数量大于1,则保留这些数据。
4. 将筛选后的数据写入新的文本文件。
下面是一个简单的Python代码示例,假设数据列由逗号分隔,并且数据文件是CSV格式的:
```python
import csv
from collections import defaultdict
# 读取原始数据
data_dict = defaultdict(list)
with open('input.txt', 'r', encoding='utf-8') as file:
reader = csv.reader(file)
next(reader) # 跳过标题行
for row in reader:
id_value = row[1] # 第二列是id
data_dict[id_value].append(row)
# 筛选数据
filtered_data = []
for id_value, rows in data_dict.items():
if len(rows) > 1: # 只保留id对应多个数据的行
filtered_data.extend(rows)
# 将筛选后的数据写入新文件
with open('output.txt', 'w', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(filtered_data)
print('筛选完成,结果已保存到output.txt文件中。')
```
请确保将'input.txt'替换为你的原始文本文件名,'output.txt'替换为你想要保存筛选结果的文件名。
阅读全文