csv는 왜 글을 쓰나요?writerow는 각 문자 뒤에 쉼표를 넣습니까?
이 코드는 URL을 열고 추가합니다./names
마지막에 페이지를 열고 문자열을 인쇄합니다.test1.csv
:
import urllib2
import re
import csv
url = ("http://www.example.com")
bios = [u'/name1', u'/name2', u'/name3']
csvwriter = csv.writer(open("/test1.csv", "a"))
for l in bios:
OpenThisLink = url + l
response = urllib2.urlopen(OpenThisLink)
html = response.read()
item = re.search('(JD)(.*?)(\d+)', html)
if item:
JD = item.group()
csvwriter.writerow(JD)
else:
NoJD = "NoJD"
csvwriter.writerow(NoJD)
하지만 저는 다음과 같은 결과를 얻었습니다.
J,D,",", ,C,o,l,u,m,b,i,a, ,L,a,w, ,S,c,h,o,o,l,....
문자열을 ("JD", "컬럼비아 로스쿨"...)로 바꾸면 다음과 같이 됩니다.
JD, Columbia Law School...)
설명서에서 delimeter를 지정하는 방법을 찾을 수 없었습니다.
사용하려고 하면delimeter
다음 오류가 발생했습니다.
TypeError: 'delimeter' is an invalid keyword argument for this function
문자열의 시퀀스(예: 목록 또는 튜플)를 예상합니다.당신은 그것에 한 가닥의 끈을 주고 있습니다.문자열은 문자열의 시퀀스이기도 하지만 1개의 문자열의 시퀀스입니다. 이것은 당신이 원하는 것이 아닙니다.
행당 하나의 문자열만 원하는 경우 다음과 같은 작업을 수행할 수 있습니다.
csvwriter.writerow([JD])
JD(문자열)를 목록으로 묶습니다.
csv.writer 클래스는 writerow에 대한 인수이므로 반복 가능합니다. Python의 문자열은 문자별로 반복 가능하기 때문에 writerow에 허용되는 인수이지만 위의 출력을 얻을 수 있습니다.
이 문제를 해결하려면 공백을 기준으로 값을 나눌 수 있습니다(당신이 원하는 것으로 가정합니다).
csvwriter.writerow(JD.split())
MatchObject 인스턴스의 group() 메서드가 단일 값만 반환하면 문자열로 반환되기 때문에 이러한 문제가 발생합니다.값이 여러 개인 경우 문자열 튜플로 반환됩니다.
행을 작성하는 경우 csv.writer는 전달하는 개체를 반복합니다.반복 가능한 단일 문자열을 전달하면 해당 문자열이 해당 문자에 대해 반복되어 관찰 중인 결과가 생성됩니다.문자열의 튜플을 전달하면 모든 반복에서 단일 문자가 아닌 실제 문자열을 얻을 수 있습니다.
즉, 전체 출력 주위에 대괄호를 추가하면 하나의 항목으로 취급되므로 쉼표가 추가되지 않습니다. 예를 들어, 다음과 같은 경우:
spamwriter.writerow(matrix[row]['id'],matrix[row]['value'])
사용:
spamwriter.writerow([matrix[row]['id'] + ',' + matrix[row]['value']])
언급URL : https://stackoverflow.com/questions/1816880/why-does-csvwriter-writerow-put-a-comma-after-each-character
'programing' 카테고리의 다른 글
단위 벡터가 필요한 이유(즉, 벡터를 정규화해야 하는 이유)는 무엇입니까? (0) | 2023.07.22 |
---|---|
SQL MariaDB - 예외가 있는 모든 데이터베이스의 모든 테이블에 대해 이 쿼리 반복 (0) | 2023.07.22 |
멀티프로세싱: 프로세스 간에 큰 읽기 전용 객체를 공유하시겠습니까? (0) | 2023.07.22 |
헬그랜드(발그랜드)와 OpenMP(C): 잘못된 긍정을 피합니까? (0) | 2023.07.22 |
Oracle에서 오늘 날짜를 변수로 되돌리는 방법 (0) | 2023.07.22 |