You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python按字母分类存储爬虫数据为JSON及去除换行符方法

解决方案

1. 按字母分类构建字典结构

初始化一个空字典存储分类后的数据,遍历每条爬取到的搭配时,提取搭配内容的首字母并转为大写,以此作为字典的键,将对应搭配项归入该键对应的列表中。

2. 去除collocation字段开头的换行符

对每个搭配项的collocation字段,用lstrip('\n')精准移除开头的换行符;如果需要清除字段前后所有空白字符(包括空格、换行等),直接用strip()即可。

完整代码示例

假设你已经完成网页爬取,得到了包含所有搭配数据的列表all_collocations(每个元素是带collocation字段的字典),处理代码如下:

import json

# 此处替换为你爬取到的原始数据列表
# all_collocations = [...]

# 初始化分类字典
letter_collocations = {}

for item in all_collocations:
    # 清理collocation字段开头的换行符
    cleaned_colloc = item['collocation'].lstrip('\n')
    item['collocation'] = cleaned_colloc
    
    # 确保字段不为空再处理分类
    if cleaned_colloc:
        first_char = cleaned_colloc[0].upper()
        # 仅处理A-Z字母开头的搭配
        if first_char.isalpha() and 'A' <= first_char <= 'Z':
            # 字母键不存在则创建空列表
            if first_char not in letter_collocations:
                letter_collocations[first_char] = []
            letter_collocations[first_char].append(item)

# 保存分类后的JSON文件
with open('collocations_by_letter.json', 'w', encoding='utf-8') as f:
    json.dump(letter_collocations, f, indent=2, ensure_ascii=False)

补充说明

  • 若遇到非字母开头的搭配,代码会自动跳过分类,你可以根据需求添加逻辑(比如归入"Other"键下)。
  • 保存时指定encoding='utf-8'和ensure_ascii=False,能避免英文内容出现乱码。

内容的提问来源于stack exchange,提问作者NewPartizal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:35:29