#python #csv #file #comma
Вопрос:
Мой код-
with open("G:/Downloads/whatever - Sheet1 (1).csv", 'r') as read_obj:
csv_reader = reader(read_obj)
header = next(csv_reader)
# Check file as empty
if header != None:
# Iterate over each row after the header in the csv
for row in csv_reader:
# row variable is a list that represents a row in csv
row = row.replace(",", "")
docs = list(nlp.pipe(row))
Я получаю ошибку AttributeError: объект «список» не имеет атрибута «заменить».
Как мне ее решить? В основном я хочу удалить все запятые из csv-файла.
Комментарии:
1. Какой смысл иметь файл, разделенный запятыми , без запятых?
Ответ №1:
Если я правильно понимаю, вы хотите получить выходные данные вашего csv без запятых, здесь ваша переменная строки не содержит запятых, а вместо этого содержит данные в списке, как в:
[item1, item2, item3]
если вы хотите преобразовать это в строку, вам нужно сделать что-то вроде:
output = ''.join(row)
чтобы заменить ваш
row = row.replace(",","")
Если я неправильно понял ваш вопрос, пожалуйста, дайте мне знать.
Ответ №2:
Строка представляет собой список значений столбцов для этой конкретной строки. Вам не нужно заменять запятые, вместо этого прочитайте значения в списке и объединитесь, чтобы создать одну строку и передать ее в nlp.
with open("G:/Downloads/whatever - Sheet1 (1).csv", 'r') as read_obj:
csv_reader = csv.reader(read_obj)
header = next(csv_reader)
# Check file as empty
if header != None:
# Iterate over each row after the header in the csv
for row in csv_reader:
# row variable is a list that represents a row in csv
# concatenate the string to a single string
concatenated_value = ''.join(row)
docs = list(nlp.pipe(concatenated_value))