File size: 1,602 Bytes
ca165c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import csv

def load_word_database(database_filename):
    with open(database_filename, mode='r', encoding='utf-8') as database_file:
        return set(word.strip().lower() for word in database_file)

def check_generated_conversation_for_words(csv_filename, word_database):
    words_scores = []
    
    with open(csv_filename, mode='r', newline='', encoding='utf-8') as csv_file:
        csv_reader = csv.DictReader(csv_file)
        
        for row in csv_reader:
            generated_conversation = row.get('Generated Conversation', '').lower()
            word_scores = []

            for word in generated_conversation.split():
                score = 1 if word in word_database else 0
                word_scores.append({'Word': word, 'Score': score})

            words_scores.extend(word_scores)

    return words_scores

def save_word_scores_to_csv(word_scores, output_csv_filename):
    with open(output_csv_filename, mode='w', newline='', encoding='utf-8') as output_csv_file:
        csv_writer = csv.DictWriter(output_csv_file, fieldnames=['Word', 'Score'])
        csv_writer.writeheader()

        for word_score in word_scores:
            csv_writer.writerow(word_score)

def main():
    database_filename = 'word_database.txt'
    csv_filename = 'info.csv'  # Replace with your CSV file
    output_csv_filename = 'word_scores.csv'

    word_database = load_word_database(database_filename)
    words_scores = check_generated_conversation_for_words(csv_filename, word_database)
    save_word_scores_to_csv(words_scores, output_csv_filename)

if __name__ == "__main__":
    main()