我使用以下代码:
import csv
import pandas as pd
f = pd.read_csv(r"C:\Users\Tanmay\Desktop\moneycontrol.csv",encoding="ISO-8859-1")
companies = pd.read_csv(r"C:\Users\Tanmay\Desktop\file2.csv",encoding="ISO-8859-1")
count = 0
ld = open(r"C:\Users\Tanmay\Desktop\companyName.csv",'a',encoding="ISO-8859-1")
for companyName,symbol in zip(companies.NAMEOFCOMPANY,companies.SYMBOL):
count+=1
if(count%2==0):
companyNamestr = str(companyName)
symbolstr = str(symbol)
print(companyNamestr + " " + symbolstr)
listOfNames = []
listOfNames.append(companyNamestr)
listOfNames.append(companyNamestr.lower())
listOfNames.append(companyNamestr.upper())
for searchRow in listOfNames:
print (searchRow + " ")
v = f[f.Subtitle.str.contains(searchRow)]
try:
v.companyName = companyNamestr
v.to_csv(ld,header = False)
except:
pass
ld.close()
我想创建一个文件,其中包含根据公司名称排序的所有文章,即如果公司名称包含在新闻的副标题中,则应显示在新的CSV文件中。 但问题是如果一个字幕包含多个公司名称,那么每个公司名称都不会出现多次。找到公司名称后,它会将其映射到该公司名称,并且不会再次检查。我想说的是,新闻文章的一个条目只出现一次,即使其中包含的公司名称超过1个。
moneycontrol.csv文件包含所有新闻文章。此文件包含arrtibute'字幕'。 file2.csv文件包含具有属性' NAMEOFCOMPANY'的所有公司的列表。和'符号'。 输出文件是companyName.csv,其中一个列名是companyName,其中公司名称多次出现,每个条目与一篇新闻文章相关联。