【python--读取文件夹下所有文件读取关键词】

🚀 作者 :“码上有前”
🚀 文章简介 :Python
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

在这里插入图片描述

python练习题

  • 抽取关键词

抽取关键词

import os
import json
import pandas as pd


# 指定文件夹路径和关键词列名
folder_path = './Cosmetic_data/Brand_Classification/brand&details_analysis'
categories_path = './Cosmetic_data/Makeup_Classification/pcommit&details_analysis'
keyword_column = '关键词'  # 替换为实际的关键词列名

def extract_keywords(folder_path, keyword_column):
    # 存储关键词的列表
    keyword_list = []

    # 获取文件夹下所有的 csv 文件
    csv_files = [file for file in os.listdir(folder_path) if file.endswith('.csv')]

    # 遍历每个 csv 文件
    for csv_file in csv_files:
        file_path = os.path.join(folder_path, csv_file)

        # 读取 csv 文件
        df = pd.read_csv(file_path)

        # 检查关键词列是否存在
        if keyword_column in df.columns:
            # 获取关键词列的值并去除换行符和制表符
            keywords = df[keyword_column].astype(str).str.replace(r'\n|\t', '', regex=True).tolist()

            # 将关键词添加到列表中
            keyword_list.extend(keywords)

    # 去除空字符串
    keyword_list = [keyword for keyword in keyword_list if keyword]
    
    return keyword_list

# 提取关键词
# result_keywords = extract_keywords(folder_path, keyword_column)
# 打印结果
# print("提取的关键词列表:")
# print(result_keywords)

def extract_keywords_from_json(categories_path, keyword_key):
    keyword_list = []

    json_files = [file for file in os.listdir(categories_path) if file.endswith('.json')]

    for json_file in json_files:
        file_path = os.path.join(categories_path, json_file)

        with open(file_path, 'r',encoding="utf-8") as f:
            data = json.load(f)
        
        for item in data:
            if keyword_key in item:
                keywords = item[keyword_key]
                if isinstance(keywords, str):
                    # 替换关键词中的换行符和制表符
                    keywords = keywords.replace('\n', '').replace('\t', '')
                    keyword_list.append(keywords)
                elif isinstance(keywords, list):
                    for keyword in keywords:
                        # 替换关键词中的换行符和制表符
                        keyword = keyword.replace('\n', '').replace('\t', '')
                        keyword_list.append(keyword)

    keyword_list = [keyword.strip() for keyword in keyword_list if keyword.strip()]
    return keyword_list
categories_keywords = extract_keywords_from_json(categories_path, keyword_column)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/434130.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Http请求下载文件带来的问题

java.io.IOException: Broken pipe 当使用http请求的方式将文件作为响应内容给浏览器,这个时候如果浏览器未开启自动下载(浏览器可能会终止这个tcp连接),文件不会下载成功,但是这个时候请求已经到达服务器,如果这个时候&#xff0…

【python--读取csv文件统计店铺有关信息】

🚀 作者 :“码上有前” 🚀 文章简介 :Python 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 python练习题 读取csv文件统计店铺有关信息 读取csv文件统计店铺有关信息 import csv import osdef get_…

一个基于差异同步数据库结构的工具 - Skeema

本文是 GO 三方库推荐的第 5 篇,继续介绍数据库 schema 同步工具,我前面已经写了两篇这个主题的文章。系列查看:Golang 三方库。 今天,推荐是的一个基于差异实现数据库 schema 迁移的工具库 - skeema,同样由 Go 实现。…

HarmonyOS-卡片事件能力说明

卡片事件能力说明 ArkTS卡片中提供了postCardAction()接口用于卡片内部和提供方应用间的交互,当前支持router、message和call三种类型的事件,仅在卡片中可以调用。 接口定义:postCardAction(component: Object, action: Object): void 接口…

CleanMyMac X软件2024全面的测评,包括其功能、性能、易用性和安全性

作为软件评价专家,我对CleanMyMac X进行了全面的评估,包括其功能、性能、易用性和安全性等方面。以下是我的评价和建议: 首先,从功能方面来看,CleanMyMac X提供了丰富多样的清理和优化功能。它不仅能够智能扫描和清理…

网工内推 | 华为成都研究所,24届应届生人才储备计划

华为成都研究所 招聘岗位 网络工程师(2024应届) 岗位要求 24届的学员 本科公办院校 英语4/6级 有HCIP优先 工作地点 成都 私信小编,回复【内推】,获取内推名额申请资格~ 想获取更多『 思科 | 华为 | 红帽 认证真题 』、『 网…

RISC-V架构的不可屏蔽中断(NMI:Non-Maskable Interrupt)介绍

1、RISC-V特权架构官方文档描述 NMI是处理器核心的一种特殊输入信号,经常用于表示系统级别的紧急错误(比如:外部硬件错误等)。在遇到NMI后,处理器应该立即中止当前程序的执行,并处理NMI错误在RISC-V架构中&…

Python自动化测试利器selenium详解

Selenium是一种常用的Web自动化测试工具,支持多种编程语言和多种浏览器,可以模拟用户的交互行为,自动化地执行测试用例和生成测试报告。Selenium基于浏览器驱动实现,结合多种定位元素的方法,可以实现各种复杂的Web应用…

Android开发者值得深入思考的几个问题,看完必懂

程序员的劫 最近,又被程序员年龄的事情刷屏了。37岁被公司优化,找工作几个月都没有很好的归属,所谓的小公司还看不上。等等类似的话题变成了程序员的吐槽固定标题,无论是程序员,还是其他行业人员,都可以就…

HTML入门

1. HTML基础 1.1 什么是HTML HTML是超文本标记语言。 超文本:比文本更强大,可以包含图片,链接等。 标记语言:由标签构成的语言。所以我们学习HTML就是在学习标签。 1.2 认识HTML标签 HTML代码都是由标签组成的,例…

2024希亦、追觅、石头、添可洗地机哪款最好用?一文教会你快速挑选洗地机

对许多人来说,全屋清洁可能是件让人望而却步的任务,因为它需要花费大量的体力和时间。但是,随着科技的发展,我们可以找到一些能够简化这个过程的神器,比如洗地机。有了洗地机,我们可以轻松地完成扫地、拖地…

Linux学习-函数指针和指针函数

目录 字符串是char *型,代表的是字符串的第一个元素的地址 指针函数: 函数指针: 字符串是char *型,代表的是字符串的第一个元素的地址 指针函数: int *Fun(int a, int b); 是函数,函数的返回值类型是…

FlyClient SPV client轻量化

这篇文章主要是为了构建一种轻客户端的算法。 如果使用SPV 的方式验证交易,每个client上面需要存储非常多的header。使用 proofs of proof-of-work 的方式,使得请客户端仅仅下载少量的区块头就能验证这一条链的安全性,然后再对包含交易的区块…

【刷题】双指针入门

双指针入门 双指针283.移动零1089. 复写零202. 快乐数11. 盛最多水的容器Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见!!! 双指针 双指针是非常经典的算法,包括但…

【python】对角线遍历

python系列文章目录 【python】基于cv2提取图片上的文本内容 【python】简单作图 【python】数组字符串等实用 【python】sort与sorted排序使用 【python】对角线遍历 python系列文章目录说明1.分析2.注意事项2.1 遍历2.2 区间2.3 顺序 3.代码实现 说明 给你一个大小为 m x n…

kerberos学习系列一:原理

1、简介 Kerberos 一词来源于古希腊神话中的 Cerberus —— 守护地狱之门的三头犬。 Kerberos 是一种基于加密 Ticket 的身份认证协议。Kerberos 主要由三个部分组成:Key Distribution Center (即KDC)、Client 和 Service。 优势: 密码无需进行网络传…

网站建设:承诺网站打开速度,这个要求合理吗?

很多甲方都要求网站的打开速度,这个要求合理吗?其实说合理也合理,说不合理也不合理。 承诺打开速度的合理性的一面 要求网站打开速度是一个合理的要求。网站的打开速度对于用户体验和网站的成功至关重要。以下是一些原因说明为什么网站打开速…

Python实现选择排序算法

Python实现选择排序算法 以下是使用Python实现选择排序算法的示例代码&#xff1a; def selection_sort(arr):n len(arr)for i in range(n):min_index i# 找到未排序部分的最小元素的索引for j in range(i 1, n):if arr[j] < arr[min_index]:min_index j# 将最小元素与…

【Python】新手入门(7):变量的数据类型转换

【Python】新手入门&#xff08;7&#xff09;&#xff1a;变量的数据类型转换 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1…

Locust中wait_time中匿名函数使用方法浅析

前言 翻出之前做个压测项&#xff0c;看到locust中对等待时间的实现方式感到好奇&#xff0c;于是总结下来。 源代码实现 def between(min_wait, max_wait):"""Returns a function that will return a random number between min_wait and max_wait.Example:…