Я хочу экспортировать массив в виде файла CSV

Я хочу разделить массив (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"

Спасибо!

"".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.']
h4z3 27.05.2019 17:24

Из какой строки вы получаете буквы, разделенные запятыми, в качестве вывода?

shaik moeed 27.05.2019 17:26

Кроме того, вы уверены, что «он классифицируется по каждой букве»? Строки в Python итерируются сами по себе, "Example"[1] будет «x». Но вы можете работать с ним как со строкой, а не посимвольно.

h4z3 27.05.2019 17:28

@shaikmoeed После сканирования поместите его в массив Result = []. Если отдельно выводится только результирующий массив, то он будет выводиться нормально. Однако для каждой буквы вводится, правильно ли обрабатывать импорт CSV.

C yp 27.05.2019 18:09

@h4z3 спасибо!. Я решил проблему без использования CSV. Теперь нет проблем. Но мне интересно, как узнать, как работает импорт CSV? Спасибо большое

C yp 27.05.2019 18:15
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
5
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Скажем, например, запуск этого кода

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 равен каждому элементу в списке по мере его повторения:

  • в первой итерации это 'foo'
  • во второй итерации это «бар»
  • в третьей итерации это "баз"

каждое из этих значений является нить.

В соответствии

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 кажется слишком гетерогенным

C yp 27.05.2019 18:20

Эм... У меня есть еще один вопрос. с помощью '\t' я хочу иметь возможность идентифицировать его в файле. Writer.writerrow([строка]) Writer.writerrow(«\t») Не так. Вы не можете использовать разделитель ('\ t')?

C yp 27.05.2019 18:53

Если вы хотите установить табуляцию в качестве разделителя, сделайте writer = csv.writer(f, delimiter='\t').

snakecharmerb 27.05.2019 19:00

Другие вопросы по теме