2017-08-18 14 views
0

私はPythonで全く新しいですが、私は小さなプロジェクトに取り組んでいます。 は、私は以下のようにファイルとBのファイルがあります。 enter image description herePython 3を使って2つのcsvファイルで同じ単語を見つける方法

そして私は& Bを比較し、言葉で両方& Bファイルを取得したいです。 いくつかの方法を試しましたが、とにかく解決できませんでした。

誰でも私を助けることができますか?ありがとう!

+2

希望する出力が何であるかは不明です。 –

+0

私の例では、AとBの両方であるため、「メジャー」、「統計」を取得したいと考えています。 – Laura

答えて

1

Rthomas529は適切なアイデアを持っていますが、いくつかの落とし穴があります。句読点、一貫性のない大文字、または複数の単語を含む行がある場合は間違っています。

# Load the files for processing 
file_1 = open('f1.txt') 
file_2 = open('f2.txt') 

# Prep some empty sets to throw words into 
words_1 = set() 
words_2 = set() 

for word in file_1.read().split(): 
    cleaned_word = ''.join([ 
     i for i in list(word.lower()) 
     if i.isalpha() or i == "'" 
    ]) 
    if cleaned_word != '': # Just in case! 
     words_1.add(cleaned_word) 

for word in file_2.read().split(): 
    cleaned_word = ''.join([ 
     i for i in list(word.lower()) 
     if i.isalpha() or i == "'" 
    ]) 
    if cleaned_word != '': # Just in case! 
     words_2.add(cleaned_word) 

similar_words = words_1 & words_2 
+0

こんにちは、ヨルダン、それは働いた!!!!!ありがとう、あまりにも!!!!!!!あなたは私の一日を作った! – Laura

0

2つのリストを作成して比較することができます。

list1 = [] 
list2 = [] 

with open('file1', 'r+') as myfile1: 
    for line in myfile1: 
     list1.append(line) 

with open('file2', 'r+') as myfile2: 
    for line in myfile2: 
     list2.append(line) 

compare = set(list1) & set(list2) 
+0

ありがとう!私はセットを使用しようとしましたが、それは言う:TyperError:&: 'セット'と 'リスト'のサポートされていないオペランドタイプ。私はリストのリスト([[]、[]、[]、[])を実際にリストと比較しているので、直接設定できないと思いますか?私はパンダがこれをすることができるかどうかわからない?またはあなたのメソッドを使ってforループが必要ですか? – Laura

+0

ヨルダン・シンガーの答えを見てください。私はあなたに深い十分な答えを与えていませんでした。 – Rthomas529

+0

リストのフォーマットがうまくいれば、mapped1 = [私はlist2にiを入れてlist1に入れる]がリストのリストに対して機能します。 list1 = [['a'、 'x']、['b'、 'x']、['c'、 'x']] list2 = [['a'、 'x']、 'a'、 'z']、['b'、 'x']]をテストとして使用します。 – Rthomas529

関連する問題