)
У меня есть CSV-файл, который выглядит так:
Blockquote
- ID контента
- Текст 1 А вот и текст
- Текст 2 Ей также приходит текст
- Текст 3 И так далее, и так далее ...
Blockquote
Я хочу написать код для перебора каждой строки этой таблицы CSV.
Затем подсчитать количество токенов в каждой строке (например, каждый текст)
Затем создайте новую CSV-таблицу в качестве вывода, в которой должен быть только Text-ID с количеством токенов в этом тексте.
Blockquote
Выходной CSV-файл должен выглядеть следующим образом:
- ID NumberOfTokens
- Текст 1 8
- Текст 2 12
- Текст 3 15
Blockquote
Пока у меня есть этот код:
import csv
from textblob_de import TextBlobDE as TextBlob
data = open('myInputFile.csv', encoding="utf-8").readlines()
blob = TextBlob(str(data))
csv_file = open('myOutputFile.csv', 'w', encoding="utf-8")
csv_writer = csv.writer(csv_file)
# Define the Headers of the CSV
csv_writer.writerow(['Text-ID', 'Tokens])
def numOfWordTokens(document):
myList = []
for eachRow in document:
myList.append(eachRow)
return "\n".join(myList)
#return eachRow
#print(eachRow)
# Count Tokens
#countTokens = len(wordTokens2.split()) # Output: integer
#return countTokens
#myList.append(str(countTokens))
wordTokens = numOfWordTokens(data)
# Write Content in the CSV-Table Rows
csv_writer.writerow([wordTokens])
csv_file.close()
Итак, прежде всего, у меня следующий вопрос?
Когда я возвращаю eachRow, я не получаю Вывод в Оболочке, а только 1. строку в качестве вывода в новом созданном CSV-файле.
Когда я выполняю печать (eachRow), я действительно печатаю каждую строку как «Вывод в оболочке», но мой новый созданный CSV-файл просто пуст!
Так что это первая часть, с которой у меня возникли проблемы, поэтому я не могу продолжать переходить к той части, где я фактически считаю токены в каждой строке и записываю количество токенов в новый CSV-файл.