Я хочу разделить массив (1) и массив (2) запятыми или табуляцией но Он классифицируется по каждой букве.
Сейчас
T,h,i,s, ,i,s, ,p,r,o,b,a,b,l,y, ,t,h,e, ,h,i,g,h,e,s, t, ,8,/,1,0, ,I, ,c,o,u,l,d, ,g,i,v,e, ,f,o,r, ,a,n, ,8,/ ,1,0, ,m,o,v,i,e,.,T,h,e,r,e, ,a,r,e, ,s,o,m,e, ,v,e,r ,y, ,g,o,o,d, ,m,o,m,e,n,t,s, ,i,n, ,E,n,d,g,a,m,e, ,a, н, д, , т, з, а, т, ', с, , с, о, м, и, н, г, , е, г, о, м, , а, , л, о, п, г , ,s,t,a,n,d,i,n,g, ,M,C,U, ,f,a,n, ,g,r,o,w,i,n,g, ,u, p, ,w,i,t,h, ,t,h,e,s,e, ,m,o,v,i,e,s,., ,I,n, ,c,r,e,a ,t,i,n,g, ,a,n, ,e,x,t,e,n,s,i,v,e, ,a,n,d, ,e,m,o,t,i ,o,n,a,l, ,j,o,u,r,n,e,y, ,f,o,r, ,a, ,l,o,t, ,o,f, ,t,h ,e, ,M,C,U, ,c,h,a,r,a,c,t,e,r,s,",", ,i,t, ,a,b,s,o,l ,u,t,e,l,y, ,s,u,c,c,e,e,d,s,.,E,n,d,g,a,m,e, ,u,l,t ,i,m,a,t,e,l,y, ,i,s, ,a,n, ,e,x,c,e,l,l,e,n,t, ,c,o,n ,c,l,u,s,i,o,n, ,t,o, ,o,v,e,r, ,1,0, ,y,e,a,r,s, ,o,f, ,f,i,l,m, ,b,u,t, ,I, ,f,e,e,l, ,t,h,e, ,p,l,o,t,',s, ,p ,a,c,i,n,g, ,a,n,d, ,d,i,r,e,c,t,i,o,n, ,i,s, ,r,e,a,l ,l,y, ,l,a,c,k,i,n,g, ,t,o, ,I,n,f,i,n,i,t,y, ,W,a,r," ,", ,w,h,i,c,h, ,',t,r,i,m,m,e,d, ,t,h,e, ,f,a,t,', ,a, n,d, ,w,a,s, ,m,u,c,h, ,m,o,r,e, ,f,o,c,u,s,e,d, ,a,n,d , ,е,н,е,г,г,е, t,i,c,., ,G,r,a,n,t,e,d,
Хочу
[предложение A], [предложение B], [предложение C]
html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
for link in soup.find_all('div','text show-more__control'):
Result.append(link.text.strip())
with open("Filename", 'w', encoding='utf-8')as f:
writer = csv.writer(f)
for i in range(len(Result)):
row = Result[i]
writer.writerow(row)
#Result is separated into String type.
#Result [1] = "sentence A"
#Result [2] = "sentence B"
Спасибо!
Из какой строки вы получаете буквы, разделенные запятыми, в качестве вывода?
Кроме того, вы уверены, что «он классифицируется по каждой букве»? Строки в Python итерируются сами по себе, "Example"[1]
будет «x». Но вы можете работать с ним как со строкой, а не посимвольно.
@shaikmoeed После сканирования поместите его в массив Result = []. Если отдельно выводится только результирующий массив, то он будет выводиться нормально. Однако для каждой буквы вводится, правильно ли обрабатывать импорт CSV.
@h4z3 спасибо!. Я решил проблему без использования CSV. Теперь нет проблем. Но мне интересно, как узнать, как работает импорт CSV? Спасибо большое
Скажем, например, запуск этого кода
for link in soup.find_all('div','text show-more__control'):
Result.append(link.text.strip())
Дает нам этот список (Result
):
['foo', 'bar', 'baz']
Теперь давайте пройдемся по списку
for i in range(len(Result)):
row = Result[i]
row
равен каждому элементу в списке по мере его повторения:
каждое из этих значений является нить.
В соответствии
writer.writerow(row)
метод writerow
ожидает итерацию и назначает каждый элемент в итерации отдельному столбцу в строке csv. Итак, если передано «foo», результирующая строка будет «f, o, o».
Если есть только один столбец — элемент из Result
в каждой строке, код должен быть таким:
with open("Filename", 'w', encoding='utf-8')as f:
writer = csv.writer(f)
for row in Result:
writer.writerow([row])
Мы делаем row
элементом списка длины 1, чтобы writerow
вел себя так, как ожидалось.
Спасибо! Спасибо! Ваш ответ идеален! Я могу обращаться с C#, JAVA ну Python кажется слишком гетерогенным
Эм... У меня есть еще один вопрос. с помощью '\t' я хочу иметь возможность идентифицировать его в файле. Writer.writerrow([строка]) Writer.writerrow(«\t») Не так. Вы не можете использовать разделитель ('\ t')?
Если вы хотите установить табуляцию в качестве разделителя, сделайте writer = csv.writer(f, delimiter='\t')
.
"".join("T,h,i,s, ,i,s, ,e,x,a,m,p,l,e,., ,T,h,i,s, ,i,s, ,e,x,a,m,p,l,e,2,.".split(",")).split(". ")
Результат:['This is example', 'This is example2.']