Naitik Chandak
Naitik Chandak

Reputation: 130

Spacy - Convert Token type into list

I have few elements which I got after performing operation in spacy having type Input -

li = ['India', 'Australia', 'Brazil']
for i in li:
    print(type(i))

Output:

<class 'spacy.tokens.token.Token'>

<class 'spacy.tokens.token.Token'>

<class 'spacy.tokens.token.Token'>

I want to make all elements in list with str type for iteration. Expected output -

li = ['India', 'Australia', 'Brazil']
for i in li:
    print(type(i))

Output

<class 'str'>

<class 'str'>

<class 'str'>

please suggest some optimized way..

Upvotes: 5

Views: 13110

Answers (2)

ACSH
ACSH

Reputation: 1

Thanks for the solution and for sharing your knowledge. It works very well to convert a spacy doc/span to a string or list of strings to further use them in string operations.

you can also use this:-

    for i in li:
        print(str(i))

Upvotes: 0

bhaskarc
bhaskarc

Reputation: 9521

Spacy Token has a attribute called text. Here's a complete example:

import spacy
nlp = spacy.load('en_core_web_sm')
t = (u"India Australia Brazil")
li = nlp(t)
for i in li:
    print(i.text)

or if you want the list of tokens as list of strings:

list_of_strings  = [i.text for i in li]

Upvotes: 10

Related Questions