홈>
csv.DictReader()
를 사용하려고하는 동안
CSV파일을 다음과 같은 사전으로 전송하려면 :
csv_file = open(input_file, "r")
data = csv.DictReader(csv_file)
그러나 pyzwyz에 사전 방법을 적용 할 수 없습니다
.
따라서
data
형식을 인쇄합니다
.
data
그리고 유형을 찾으십시오 :
print(type(data))
<class 'csv.DictReader'>
도 마찬가지입니다
실제로 사전 객체를 반환합니까?CSV에서 사전 개체를 얻으려면 어떻게해야하나요?
내CSV파일은 다음과 같습니다.
csv.DictReader()
실제로 예상되는 출력이 없습니다. 추가 계산을 위해이 값을 저장하고 싶습니다.
편집 (댓글 별) :출력은 두 부분으로 구성 될 수 있습니다. 첫 번째는
[['play', 'weather', 'temperature'], ['yes', 'sunny', '77'], ['no', 'rainny', '60'], ['yes', 'windy', '70'],...]
와 같은 csv 파일의 헤더입니다.
. 두 번째는 다음과 같습니다.
['play', 'weather', 'temperature']
[['yes', 'sunny', '77'], ['no', 'rainny', '60'], ['yes', 'windy', '70']...]
- 답변 # 1
- 답변 # 2
DictReader
파일과 같은 객체를 반환합니다. 여전히 한 번에 한 행씩 csv 파일에서 데이터를 읽지 만 반환 된 행은 목록 대신 사전으로 정렬됩니다.파일이 다음과 같은 경우 :
play,weather,temperature yes,sunny,77 no,rainny,60 yes,windy,70
그런 다음
DictReader
를 사용할 수 있습니다 다음과 같은 방법으로 :with open('path/to/file.csv') as fp: header = fp.readline().strip().split(',') dreader = DictReader(fp, header) data = list(dreader)
data
OrderedDict
의 목록이 될 것입니다 헤더에서 행의 각 항목으로 매핑되는 객체.data #returns: [OrderedDict([('play', 'yes'), ('weather', 'sunny'), ('temperature', '77')]), OrderedDict([('play', 'no'), ('weather', 'rainny'), ('temperature', '60')]), OrderedDict([('play', 'yes'), ('weather', 'windy'), ('temperature', '70')])]
관련 자료
- python - 목록을 사전 객체로 변환하고 함수에서 반환하는 방법은 무엇입니까?
- 사전이있는 typescript 클래스 객체를 JSON 문자열로 변환
- javascript - Promiseall ()은 객체 속성의 반환을 기다립니다
- python - 중첩 된 사전 액세스 및 값 반환
- python - 중첩 된 사전 내의 모든 목록에서 n 번째 값이있는 사전을 반환하고 다른 값을 유지합니다
- java - Void 또는 반환 유형 접근 방식을 사용하여 개체에 값 설정
- javascript - typescript에서 일반 입력을 사용하여 올바른 유형의 객체에서 속성 반환
- mysql - Return은 소리가 나지 않더라도 빈 객체를 반환합니다
- express - ExpressJs 요청 반환 본문을 빈 개체 {}로
- spring - 자바 - 두 개의 동일한 개체에서 모든 필드를 병합하는 새 개체를 반환합니다
- python - Django 리턴 렌더 호출에 둘 이상의 사전 목록을 어떻게 추가합니까?
- java - 객체 o가 null 인 경우 equals () 메서드에서 false를 반환 할 수 없습니다 내 equals () 구현과 테스트 케이스를 추가했습니다
- javascript - 특수 키가있는 객체 배열 반환
- java - 동일한 반환 유형의 객체를 반환하면 구문 오류가 발생합니다
- Python 객체는 목록을 반환합니다
- django - appviewsservices보기가 HttpResponse 개체를 반환하지 않았습니다 대신 None을 반환했습니다
- c# - 사전 개체에 저장된 비동기 Http GET 작업
- java - 추상 클래스에서 상속 된 클래스의 객체는 getter에서 null 값을 반환합니다
- python - ifcopenshell 객체 및 해당 모양을 포함하는 사전을 반환하려고 할 때 segfault
- c++ - GMOCK 개체가 종속성 주입에서 EXPECT_CALL에 의해 설정된 값을 반환하지 않는 이유
관련 질문
- python : dask를 사용하여 큰 .csv 파일을 분할하는 방법은 무엇입니까?
- python : 파이썬에서 사전을 사용하여 사용자 입력을 기반으로 다른 파일의 값을 바꾸는 방법
- python : 사전 키에 따라 사전 목록을 매핑하는 방법이 있습니까?
- python : 2D numpy 배열 및 사전을 사용하여 tic tac toe 만들기
- Python의 .csv에서 데이터 읽기 및 조작
- Python datetime.strptime (row [0],"% Y-% m-% d") IndexError : 목록 인덱스가 범위를 벗어났습니다.
- python : 특정 행이 일치하는 chromebooks.csv에 students.csv의 데이터 입력
- python : 가변 크기 청크를 사용하는 'pd.read_csv': try /except없이 중지하는 방법?
- python : 열 또는 행 이름이없는 데이터 프레임에서 문자열 값을 삭제하는 방법
- python : 파이썬에서 사전 만들기의 이상한 것
csv.reader
원하는 결과를 얻으면
dict
를 사용할 필요가 없습니다 또는 결과적으로csv.DictReader
. 대신csv.reader
를 사용하십시오. 반복자를 반환합니다. 그런 다음next
를 사용하십시오. 그리고list
헤더와 데이터를 각각 추출하는 방법 :결과는 헤더 목록과 데이터 목록 목록입니다 :
팬더타사 라이브러리를 기꺼이 사용하려는 경우 Pandas는 유형 변환 및 색인 생성을보다 편리하게 처리 할 수있는 더 나은 옵션이 될 수 있습니다.
결과는
pd.DataFrame
입니다 개체 :