首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >读取CSV,如果文本匹配,则打开具有匹配文件名的html文件,并在文本中复制。

读取CSV,如果文本匹配,则打开具有匹配文件名的html文件,并在文本中复制。
EN

Stack Overflow用户
提问于 2019-11-13 11:25:04
回答 1查看 128关注 0票数 3

好吧,我想我只是错过了连接器,我对python非常陌生。

目标:阅读CSV

读取目录中的所有文件名

如果索引(X)处的一行=目录中的文件名,则

打开HTML文件,用HTML文件中的文本替换索引(X)处的文本

目前为止的代码:

代码语言:javascript
运行
AI代码解释
复制
import fileinput
import csv
import os
import sys
import glob
from bs4 import BeautifulSoup

htmlfiles_path = "c:\\somedirectory\\" #path to directory containing the html files
filename_search = glob.glob("c:\\somedirectory\\*.HTM") #get list of filenames

#open csv

with open ('content.csv', mode='rt') as content_file:
    reader = csv.reader (content_file, delimiter=',')
    for row in reader:
        for field in row:
            if filename_search(some matching logic i am stuck on):
                for htmlcontentfile in glob.glob(os.path.join(path, ".HTM")):
                    markup(htmlcontentfile)
                    soup = BeatifulSoup(open(markup, "r").read())
                        content_file.write(soup.get_text())
                #i think something else goes here

我让csv阅读器开始工作,而glob则拉出文件名列表,在连接这些文件时遇到了一些问题。任何帮助都会很棒。

我查找了其他问题,其中一些代码是基于这个问题的,但是我没有在python中找到应对这个挑战的任何东西。如果有,把我引向正确的方向!

EDIT1:我在代码中打开的csv中使用"wt“。但那不是它被卡住的地方。

我有一个装满文件的文件夹。示例:

内容/d100.htm

内容/d101q.htm

内容/d102s.htm

以及CSV:

示例CSV

CSV档案:

标题名称位置

加州总统d 100.html

目标:打开csv,在“内容”文件夹中的任何文件的位置下查找匹配项。

如果找到匹配,打开相应的HTM文件,只解析文本。

将csv中的字段替换为文件的文本内容

这有意义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-02 07:19:57

答案:

@barny如果我没有运行代码,我就不会在这里发帖。我很抱歉误解了我要找的东西。

无论如何,我通过稍微修改问题陈述并使用Excel来完成它来解决这个问题。

最初的要求:

CSV

文本/答案/目标文件内容

一些文本\引用文件001.htm \ some

其他一些文本呢引用文件002.htm \ some

找到文件,并将内容解析到它旁边的列。

略为改变的问题:

将所有htm文件解析为csv,并列出它们各自的文件名。然后使用Excel来匹配内容。

Excel没有让BSoup或Python进行匹配的工作,而是已经有了一个函数,index(match())可以执行我的请求的第二部分。因此,我让Python和Bsoup打开每个HTML文件,并将其放入CSV中。我还在另一列中带了一个长的文件名。就像这样:

文件:

内容/001.htm

内容/002.htm

内容/003.htm

预期CSV产出格式:

HTML文件的内容--文件名

代码:

代码语言:javascript
运行
AI代码解释
复制
import fileinput
import csv
import os
import sys
import glob
from bs4 import BeautifulSoup

path = "<the path>"


def main():
   for filepath in glob.glob(os.path.join('<the path>', '*.HTM')): #find folder containing html files 
    with open(filepath) as f:
        contentstuff = f.read() #find an html file, and read it
        soup = BeautifulSoup(contentstuff, "html.parser") #parse the html out
        with open (path + '\\htmlpages.csv', 'a', encoding='utf-8', newline='') as content_file:
            writer = csv.writer (content_file, delimiter=',') #start writer for file content to CSV
            fp = filepath[-12:] #trim the file name to necessary name
            for body_tag in soup.find_all('body'):
                bodye = (body_tag.text.replace("\t", "").replace("\n", "")) #deal with necessary formatting between Bsoup and Excel
                print(bodye) #show me the work
                writer.writerow([bodye, fp])  #do the actual writing

内容在CSV中之后,我使用了一个索引(match())来对我的核心文件中的文件名和新的CSV。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58844190

复制
相关文章
文本模糊匹配
文本模糊匹配主要是指对两段文本含义相近程度的计算,当我们需要处理的数据集比较多样或者是未标准化的脏数据时,通过模糊匹配主要实现的是去除重复值的操作。 高级的模糊匹配涉及到的是自然语言处理的一部分内容,这里所说的模糊匹配则是一种相对比较简单的匹配方式,例如两个相近的表达方式(‘underground’ ‘subway’),一些可能出现的拼写错误和较小的语法错误或句法偏移(‘apple’ ‘appel’)以及一些并列词语位置的颠倒之类的等等一些不会涉及到语义分析的一些内容。
爱编程的小明
2022/09/06
2.3K0
文本模糊匹配
搜索:文本的匹配算法
搜索即找到跟搜索词句很相似的文本,例如在百度中搜索"人的名",结果如下 那么怎么评价两个文本之间的相似度呢? 余弦相似度  (cosine similiarity) 本文介绍基于VSM (Vector
alexqdjay
2018/05/11
6.4K0
文本匹配——【NAACL 2022】GPL
《文本匹配——【EMNLP 2021】TSDAE》中的自适应预训练的一大缺点是计算开销高,因为必须首先在语料库上运行预训练,然后在标记的训练数据集上进行监督学习。标记的训练数据集可能非常大。
小爷毛毛_卓寿杰
2022/06/30
7490
文本匹配——【NAACL 2022】GPL
文本匹配——【EMNLP 2021】SimCSE
SimCSE(Simple Contrastive Learning of Sentence Embeddings)是一种简单在没有监督训练数据的情况下训练句子向量的对比学习方法。
小爷毛毛_卓寿杰
2022/09/30
9930
文本匹配——【EMNLP 2021】SimCSE
文本匹配——【ICLR 2021】CT
1. 介绍 论文《SEMANTIC RE-TUNING WITH CONTRASTIVE TENSION》地址:https://openreview.net/pdf?id=Ov_sMNau-PF 之前
小爷毛毛_卓寿杰
2022/09/30
1.5K0
文本匹配——【ICLR 2021】CT
文本匹配——【NAACL 2021】AugSBERT
目前,最先进的 NLP 架构模型通常重用在 Wikipedia 和 Toronto Books Corpus 等大型文本语料库上预训练的 BERT 模型作为基线 。通过对深度预训练的 BERT 进行微调,发明了许多替代架构,例如 DeBERT、RetriBERT、RoBERTa ……它们对各种语言理解任务的基准进行了实质性改进。在 NLP 中的常见任务中,成对句子评分在信息检索、问答、重复问题检测或聚类等方面有广泛的应用。通常,提出了两种典型的方法:Bi-encoders 和 Cross-encoders。
小爷毛毛_卓寿杰
2022/06/30
6490
文本匹配——【NAACL 2021】AugSBERT
python中如何打开csv文件_python如何读取csv文件
python如何读取csv文件,我们这里需要用到python自带的csv模块,有了这个模块读取数据就变得非常容易了。
全栈程序员站长
2022/09/16
8K0
python中如何打开csv文件_python如何读取csv文件
深度文本匹配在智能客服中的应用
文本匹配是自然语言理解中的一个核心问题,它可以应用于大量的自然语言处理任务中,例如信息检索、问答系统、复述问题、对话系统、机器翻译等等。这些自然语言处理任务在很大程度上都可以抽象成文本匹配问题,比如信息检索可以归结为搜索词和文档资源的匹配,问答系统可以归结为问题和候选答案的匹配,复述问题可以归结为两个同义句的匹配,对话系统可以归结为前一句对话和回复的匹配,机器翻译则可以归结为两种语言的匹配。
AI科技大本营
2018/11/23
2.1K0
怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]
csv英文全称是Comma-Separated Value,字面翻译逗号分隔值,是一种常见的文本格式文档,可用Excel打开,也可用常见的文本编辑器打开。csv文件经常用于在电子表格软件和纯文本之间交互数据。
全栈程序员站长
2022/09/16
6.8K0
怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]
人岗智能匹配,基于记忆的深度文本匹配技术
https://pan.baidu.com/s/1mbTWIPAzUIXkIU-2cIiWEw
机器学习AI算法工程
2019/10/28
2.2K0
人岗智能匹配,基于记忆的深度文本匹配技术
glob:Python中文件名的匹配
既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob。
luckpunk
2023/09/15
4260
glob:Python中文件名的匹配
文本相似度,文本匹配模型归纳(附代码)
本文将会整合近几年来比较热门的一些文本匹配模型,并以QA_corpus为测试基准,分别进行测试,代码均采用tensorflow进行实现,每个模型均会有理论讲解与代码实现。
机器学习AI算法工程
2021/01/27
2.2K0
文本相似度,文本匹配模型归纳(附代码)
glob:Python中文件名的匹配
既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob。
luckpunk
2023/09/14
4000
小布助手对话短文本语义匹配
向AI转型的程序员都关注了这个号👇👇👇 机器学习AI算法工程   公众号:datayx 小布助手是OPPO公司为欧加集团三品牌手机和IoT设备自研的语音助手,为用户提供了有趣、贴心、便捷的对话式服务。意图识别是对话系统中的一个核心任务,而对话短文本语义匹配是意图识别的主流算法方案之一。 训练数据 训练数据包含输入query-pair,以及对应的真值。初赛训练样本10万,复赛训练样本30万,这份数据主要用于参赛队伍训练模型,为确保数据的高质量,每一个样本的真值都有进行人工标注校验。每行为一个训练样本,由que
机器学习AI算法工程
2022/09/06
1.4K0
小布助手对话短文本语义匹配
Jmeter CSV文件管理与正则匹配
创建csv文件(最好不用用记事本创建,推荐用Nodepad++)文件编码为UTF-8 文件内容如下:
清风穆云
2021/08/09
1.7K0
搜狐文本匹配算法大赛方案总结
在自然语言理解中,自然语言推理(Nature Language Inference,NLI)被认为是一个非常基础但重要的研究任务。它要求机器去理解自然语言的深层次语义信息,进而做出合理的推理。更具体的推理任务,则是判断句子关系,即对于给定的两个句子,判断它们含义是否一致。
NewBeeNLP
2022/11/17
1.2K0
搜狐文本匹配算法大赛方案总结
C#中的正则匹配和文本处理
在博客之前上章讲了String类和StringBuilder类。尽管String类和StringBuilder类提供了一套方法用来处理基于字符串的数据, 但是正则表达式和支持它的类却为字符串处理任务提供了更强大的功能. 大多数字符串处理工作都需要在字符串中寻找特定排列规则的子串, 通过称为正则表达式的特殊语言就可以完成这个人无. 在本章大家会了解到创建正则表达式的方法以及如何利用它们解决常见的文本处理任务。
苏州程序大白
2021/08/13
2.6K0
C#中的正则匹配和文本处理
在Excel中如何匹配格式化为文本的数字
在Excel中,如果数字在一个表中被格式化为数字,而在另一个表中被格式化为文本,那么在尝试匹配或查找数据时,会发生错误。
fanjy
2022/06/04
6K0
在Excel中如何匹配格式化为文本的数字
文本匹配——【ICLR 2022】Trans-Encoder
自然语言处理和信息检索中的许多任务都涉及句子的成对比较——例如,句子相似性检测、释义识别、问答蕴涵和文本蕴涵。
小爷毛毛_卓寿杰
2022/07/06
1.2K0
文本匹配——【ICLR 2022】Trans-Encoder
ESIM 短文本匹配 模型解读分析
ESIM是一个综合应用了BiLSTM和注意力机制的模型,在文本匹配中效果十分强大.
大鹅
2021/11/12
2.1K0

相似问题

如果列中的文本与特定路径或文件名匹配,则删除CSV整行

14

如果语句匹配则显示文本

22

如果文件与给定文本匹配,则跳过枚举中的文件

114

如果文件名与CSV中的单词匹配,则删除目录中的项

21

如果行包含特定文本,则匹配行尾。

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文