使用python语言,读取每一行数据,提取出每一行的域名,最后将所有域名保存到指定的xlsx文件下,域名不是以https或者www.开头的,是以cn或者com结尾的
时间: 2024-09-14 08:04:17 浏览: 41
python写入数据到csv或xlsx文件的3种方法
使用Python语言读取文件并提取特定格式的域名,可以通过以下步骤实现:
1. 打开文件:使用`open()`函数以读取模式打开目标文件。
2. 逐行读取:使用文件对象的`readlines()`方法或通过循环逐行读取文件内容。
3. 正则表达式匹配:使用`re`模块中的`findall()`函数配合正则表达式来匹配符合格式要求的域名。
4. 数据清洗:对于每个匹配到的域名,判断是否以`https`或`www.`开头,以及是否以`cn`或`com`结尾。
5. 写入Excel:使用`openpyxl`或`pandas`库将提取出的域名写入到指定的xlsx文件中。
下面是一个简单的代码示例,展示如何实现上述功能:
```python
import re
from openpyxl import Workbook
# 正则表达式匹配域名
pattern = re.compile(r'https?://(www\.)?([a-zA-Z0-9-]+)\.(cn|com)')
# 创建Excel工作簿和工作表
wb = Workbook()
ws = wb.active
ws.title = 'Domains'
# 打开文件并读取每一行
with open('data.txt', 'r', encoding='utf-8') as file:
for line in file:
# 使用正则表达式查找所有匹配的域名
matches = pattern.findall(line)
# 遍历匹配结果,将符合条件的域名写入Excel
for match in matches:
# match[1] 是域名部分(去除www.和https://)
ws.append([match[1]])
# 保存Excel文件
wb.save('domains.xlsx')
```
确保在运行上述代码前,已经安装了`openpyxl`库,可以通过`pip install openpyxl`进行安装。
阅读全文