반응형
Python csv writer 구분자 잘못?
면책 사항:저는 유럽에 있습니다.
이 페이지에 따르면 엑셀은 세미콜론을 사용합니다.;
유럽에서 십진법 쉼표와 "충돌 방지"를 위한 기본 구분 기호로 사용됩니다.
자, 파이썬 코드가 있습니다.
import csv
data = [["test", "data"], ["foo", "bar"]]
writer = csv.writer(open("data.csv", "wb"), dialect="excel")
writer.writerows(data)
이 파일을 생성해야 하는 대상:
test;data
foo;bar
대신 쉼표를 사용합니다.왜 이런 일이 생기는 건가요?locale.getdefaultlocale()
돌아온다('nl_NL', 'cp1252')
.
csv.excel 방언이 로케일 인식이 아니기 때문입니다.세미콜론을 구분 기호로 명시적으로 사용하려면 csv.open으로 구분 기호를 명시적으로 전달해야 합니다.
writer = csv.writer(open("data.csv", "wb"), delimiter=";")
아니면 새로운 사투리를 만들어서 등록해주세요.
class excel_semicolon(csv.excel):
delimiter = ';'
register_dialect("excel-semicolon", excel_semicolon)
어느 경우든 부동 소수점 숫자가 어떻게 쓰이는지 검정해야 합니다...원하는 유럽 형식으로 작성되지는 않을 것 같습니다(쉼표를 기수로 사용).
그excel
방언은 다음 속성에 의해 지정됩니다.Lib/csv.py
, 선 57):
delimiter = ','
quotechar = '"'
doublequote = True
skipinitialspace = False
lineterminator = '\r\n'
quoting = QUOTE_MINIMAL
힌트를 찾을 수가 없네요. 이게 어떤 식으로든 지역에 의존적이라는 걸요. 그래서 당신은 항상,
기본 방언을 사용합니다.
하지만 그것은 쉽게 고쳐집니다. 예를 들어.
class excel_semicolon(csv.excel):
delimiter = ';'
writer = csv.writer(open("data.csv", "wb"), dialect=excel_semicolon)
언급URL : https://stackoverflow.com/questions/7423869/python-csv-writer-wrong-separator
반응형
'programing' 카테고리의 다른 글
푸시 알림을 위한 장치 토큰 가져오기 (0) | 2023.09.13 |
---|---|
XML 스키마를 버전화하는 가장 좋은 방법은 무엇입니까? (0) | 2023.09.13 |
MySQL UPDATE가 언제 성공했는지와 실제로 업데이트된 데이터를 구분하려면 어떻게 해야 합니까? (0) | 2023.09.08 |
Mariadb Xampp-Database에 연결할 수 없습니다. (0) | 2023.09.08 |
jQuery AJAX 응답 대기 중 (0) | 2023.09.08 |