Как разделить элементы списка новой строкой на запятую в python - PullRequest
0 голосов
/ 17 апреля 2019

Я использовал это

print(listing_jobs)

привело к этому

['Senior Cloud Specialist\nFull-time · Singapore · 5 - 10 Years\n12 days ago', 'Cloud Native Developer\nFull-time · Hyderabad · 2 - 5 Years\n13 days ago']

Как конвертировать \n в запятую?

Когда я использую

listing_jobs.strip().split('\n')

это показывает ошибку

AttributeError: 'list' object has no attribute 'strip'

Ответы [ 5 ]

0 голосов
/ 19 апреля 2019

Попробуйте это.

для элемента в list_jobs: print (item.replace ('\ n', ','))

0 голосов
/ 17 апреля 2019
import  re
list_of_lines = ['Senior Cloud Specialist\nFull-time · Singapore · 5 - 10 Years\n12 days ago', 'Cloud Native Developer\nFull-time · Hyderabad · 2 - 5 Years\n13 days ago']

just_replace = [re.sub('\n',",",lines) for lines in list_of_lines]

replace_then_split_to_list_of_lists = [re.sub('\n',",",lines).split(',') for lines in list_of_lines]

replace_and_then_split_to_flat_list = sum([re.sub('\n',",",lines).split(',') for lines in list_of_lines],[])

no_replace_split_flat_list = sum([lines.split('\n') for lines in list_of_lines],[])
0 голосов
/ 17 апреля 2019

Вам нужно перебрать свой список строк и заменить \n на ,

listing_jobs = ['Senior Cloud Specialist\nFull-time · Singapore · 5 - 10 Years\n12 days ago', 'Cloud Native Developer\nFull-time · Hyderabad · 2 - 5 Years\n13 days ago']

jobs = [job.replace('\n',',') for job in listing_jobs]
print(jobs)
#['Senior Cloud Specialist,Full-time · Singapore · 5 - 10 Years,12 days ago', #'Cloud Native Developer,Full-time · Hyderabad · 2 - 5 Years,13 days ago']
0 голосов
/ 17 апреля 2019

Вы можете сделать это:

list_str = list_str.split('\n')
list_str  = ','.join(list_str)
0 голосов
/ 17 апреля 2019

Если я правильно понимаю ваш вопрос, вы хотите разделить элементы списка listing_jobs на \n?если это так, вы можете использовать понимание списка следующим образом:

d = ['Senior Cloud Specialist\nFull-time · Singapore · 5 - 10 Years\n12 days ago',
 'Cloud Native Developer\nFull-time · Hyderabad · 2 - 5 Years\n13 days ago']
d = [x.strip().split("\n") for x in d]

Это даст следующий список списков:

[['Senior Cloud Specialist',
  'Full-time . Singapore . 5 - 10 Years',
  '12 days ago'],
 ['Cloud Native Developer',
  'Full-time . Hyderabad . 2 - 5 Years',
  '13 days ago']]

Но в итоге вы получите список списков.Если вы хотите свести его к списку строк, выполните следующие действия:

result = []
for el in d:
     result = result + el 

output:

['Senior Cloud Specialist',
 'Full-time . Singapore . 5 - 10 Years',
 '12 days ago',
 'Cloud Native Developer',
 'Full-time . Hyderabad . 2 - 5 Years',
 '13 days ago']

Общий код:

# original data
d = ['Senior Cloud Specialist\nFull-time · Singapore · 5 - 10 Years\n12 days ago',
 'Cloud Native Developer\nFull-time · Hyderabad · 2 - 5 Years\n13 days ago']
# split by "\n"
d = [x.strip().split("\n") for x in d]
# flatten the list of lists into a list of strings
result = []
for el in d:
     result = result + el 

Почему у вас возникает следующая ошибка?

"AttributeError: у объекта 'list' нет атрибута 'strip'"

Поскольку полоса может быть применена к strтип данных, и вы применяете его в списке типов данных.

...