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()