Access words by index in python

I don’t know if it’s possible but i’m trying to access words (not individual characters) from a split string by indexes and store it in a dictionary. If this can’t work, pls is there any other suggestion as to how to go about getting the same result. This is my code so far:

def main(): if len(argv) != 2:     print("usage: python import.py (csv file)")     exit(0)   db = SQL("sqlite:///students.db")  file = open(argv[2], 'r') csv_file = DictReader(file)  for row in csv_file:     names = row['name']     for i in names:         word = i.split()    # what the csv looks like   name,house,birth   Adelaide Murton,Slytherin,1982   Adrian Pucey,Slytherin,1977   Anthony Goldstein,Ravenclaw,1980       # what i want it to look like   first name,middle name,last name,house,birth   Adelaide,None,Murton,Slytherin,1982   Adrian,None,Pucey,Slytherin,1977   Anthony,None,Goldstein,Ravenclaw,1980          
Add Comment
3 Answer(s)

If there is a comma between the words then you can do words = i.split(',') or whatever the delimiter is passed in as an argument to split()

Answered on July 16, 2020.
Add Comment
sentence = 'This is an example'  # string: 'This is an example' words = sentence.split()         # list of strings: ['This', 'is', 'an', 'example'] 

At this point you can get a specific word by calling its index, or loop through them like for word in words:.

I’m not sure about the SQL portion of your code but it looks like you’re already looping through the words when you do for i in names:.

Add Comment

You can try with this code

def create_word_index(filenames, rare_word_flag=False):     word_index, word_count, single_words = {}, 0, []  # original : word_count = 0      ## Handle word index and word count     for idx, filename in enumerate(filenames):         with open(filename) as f:             for sentence in f.readlines():                 words = sentence.strip().split()                 for word in words:                     # word = process(word)  # Do more preprocessing stuff here if you need                     if rare_word_flag and (word in single_words):                         word_index[word] = 1                         continue                     if word in word_index:                         continue                     word_index[word] = word_count                     word_count += 1     return word_index, word_count   filenames = ["haha.txt"] word_idx, word_count = create_word_index(filenames, False) print(word_idx) print(word_count)  # haha.txt file: name=huhu, check=ok name=haha, check=not good 
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.