라이브러리 사용 luke :) 데이터 형식이 올바른 것으로 가정합니다. 대부분의 실제 데이터는 그런식이 아닙니다. 그래서 여기에 해결책이 있습니다.
>>> content.split('~')
['\nEngland\nLink: http://imgur.com/foobar.jpg\nCapital: London\n', '\nIceland\nLink: http://imgur.com/foobar2.jpg\nCapital: Reykjavik\n', '\nEngland\nLink: http://imgur.com/foobar.jpg\nCapital: London\n', '\nIceland\nLink: http://imgur.com/foobar2.jpg\nCapital: Reykjavik\n']
파이썬에는 CSV를 작성하는 데 표준 라이브러리 기능이 있습니다.
>>> import csv
>>> csvfile = open('foo.csv', 'wb')
>>> fieldnames = ['Country', 'Link', 'Capital']
>>> writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
>>> for entry in entries:
... cols = entry.strip().splitlines()
... writer.writerow({'Country': cols[0], 'Link':cols[1].split(': ')[1], 'Capital':cols[2].split(':')[1]})
...
데이터가 반 구조화되거나 잘못 포맷 된 경우 PyParsing과 같은 라이브러리를 사용하는 것이 좋습니다.
편집 : 두 번째 열에는 URL이 포함되어 있으므로 분할을 잘 처리해야합니다.
>>> cols[1]
'Link: http://imgur.com/foobar2.jpg'
>>> cols[1].split(':')[1]
' http'
>>> cols[1].split(': ')[1]
'http://imgur.com/foobar2.jpg'
원하는 최종 출력물의 예를 제공 할 수 있습니까? – lukess
파일에서 줄 단위로 이동하고 '/ n'(파일 내용 저장 용)으로 분할을 적용하고 '~'을 확인하십시오. – Aditya