编写一个 Python 程序,读取data.txt文件中的数据,将其中的姓名、身份证、手机号码部分信息替换成*进行脱敏处理(见输出示例),结果输出到result.txt文件中。
时间: 2024-05-07 22:22:00 浏览: 29
好的,以下是程序代码:
```python
# 打开文件
with open('data.txt', 'r', encoding='utf-8') as f:
# 读取文件中的内容
lines = f.readlines()
# 遍历每一行数据
for i in range(len(lines)):
# 将每一行数据按照空格分割成列表
line = lines[i].split()
# 对姓名、身份证、手机号码进行脱敏处理
line[0] = line[0][0] + '*'*(len(line[0])-1)
line[1] = '*'*14 + line[1][-4:]
line[2] = line[2][:3] + '*'*4 + line[2][-4:]
# 将处理后的数据拼接成字符串
lines[i] = ' '.join(line) + '\n'
# 将处理后的数据写入文件
with open('result.txt', 'w', encoding='utf-8') as f:
f.writelines(lines)
```
其中,我们对姓名的处理是将第一个字符保留,后面全部替换成*;对身份证的处理是将前14位全部替换成*,最后4位保留;对手机号码的处理是将第4~7位全部替换成*。
相关问题
用python语言编写一个程序,逐行读取data.txt文件信息并显示
好的,以下是示例代码:
```python
with open('data.txt', 'r') as file:
for line in file:
print(line.strip())
```
这段代码会打开名为 `data.txt` 的文件并将其内容逐行读取,使用 `strip()` 函数去除每行末尾的换行符,并打印输出到控制台。你可以将文件名替换为你自己的文件名。请确保该文件与你的 Python 脚本在同一目录下,或者你需要提供文件的完整路径。
编写一个 Python 程序,读取data.txt文件中的文本,对进行分词,统计频率最高的前100个,结果输出到result.csv文件中。
以下是一个可能的解决方案:
```python
import jieba
import csv
from collections import Counter
# 读取文本文件
with open('data.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词并统计词频
words = [w for w in jieba.cut(text) if len(w) > 1] # 只保留长度大于1的词
counter = Counter(words)
top100 = counter.most_common(100)
# 输出到csv文件
with open('result.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['词语', '频率'])
for word, freq in top100:
writer.writerow([word, freq])
```
这个程序依赖于jieba库和collections.Counter类。首先读取data.txt文件并将其存储在一个字符串变量text中。然后使用jieba库对文本进行分词,只保留长度大于1的词。接下来使用Counter类对词频进行统计,并使用most_common方法提取前100个最频繁出现的词语和它们的频率。最后将结果输出到result.csv文件中。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)