Как сделать токенизацию в CSV-файл - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь сделать токенизацию с помощью spacy. Я новичок в python и хочу знать, как выполнить токенизацию в CSV-файл.

T открыл файл в блокноте Jupyter:

    import csv
    import wheel
    
    with open('/Users/Desktop/Python Path copia/samsungs10.csv') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=';')
        for riga in csv_reader:
            for campo in riga:
                print(campo, end=" ")
            print("") #fine riga

    doc = nlp ('csv_file')

И результат правильно набор данных csv.

Попытка токенизации У меня есть эта проблема:

#python3 -m spacy download en_core_web_sm

    import spacy
    import en_core_web_sm
    
    for token in doc:
        print(token.text, token.lemma_, token.pos_, token.tag_, token.dep_,
                token.shape_, token.is_alpha, token.is_stop)

Результат:

csv_file csv_file ADP IN ROOT xxx_xxxx False False.

ПОЧЕМУ?

1 Ответ

0 голосов
/ 06 августа 2020

Вызов объекта nlp в строке текста вернет обработанный do c, вам нужно изменить

doc = nlp ('csv_file')

на текстовое содержимое вашего csv-ридера например,

doc = nlp(csv_contents)

Изменить: в вашем примере у вас есть коллекция строк из файла csv. Вы все еще можете использовать nlp для обработки строк строка за строкой. Вот один из способов сделать это:

import csv
import spacy
nlp = spacy.load("en_core_web_lg")

doc = []
with open('file.csv') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=';')
    for riga in csv_reader:
        for campo in riga:
            print(campo)
            doc.append(nlp(campo))

for item in doc:
    for token in item:
        print(token.text, token.lemma_, token.pos_, token.tag_, token.dep_,
              token.shape_, token.is_alpha, token.is_stop)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...