boto3 : 파일 내용 길이가 맞지만 본문이 비어 있습니다.

user5054

S3 버킷에 4.4MB 크기의 파일이 있고 boto3를 통해 다운로드하려고 할 때 객체 설명에 표시된 콘텐츠 길이가 맞지만 객체 본문이 비어 있습니다. 왜 그런 일이 일어나는지 아이디어가 있습니까?

s3 = session.client('s3')    
obj = s3.get_object(Bucket=bucket, Key=key)
obj['ResponseMetadata']['HTTPHeaders']['content-length'] ## this returns 4598667
obj['ContentLength'] ## this returns 4598667 as well
obj['Body'].read().decode('utf-8') ## this returns ''
Amit Baranes

따라서 주석에서 언급했듯이 핵심은 csv.reader()obj['Body'].read().decode('utf-8').splitlines()(전체 코드는 여기 에서 찾을 수 있습니다 .)

스트리밍이 이미 이것을 처리하지 않는 이유는 무엇입니까?

csv.reader 정보 ( 문서에서 ) :

주어진 csvfile의 행을 반복 할 판독기 객체를 반환합니다. csvfile은 반복기 프로토콜을 지원하고 next () 메서드가 호출 될 때마다 문자열을 반환하는 모든 객체 일 수 있습니다. 파일 객체와 목록 객체가 모두 적합합니다. csvfile이 파일 객체 인 경우 newline = ''로 열어야합니다.

csv 파일에서 읽은 각 행 은 문자열 목록으로 반환됩니다 . QUOTE_NONNUMERIC 형식 옵션이 지정되지 않으면 자동 데이터 유형 변환이 수행되지 않습니다.

그렇게 말했듯이 실제 행을 보려면 csv.reader의 반환 데이터를 반복해야합니다.

코드 스 니펫 예 :

import csv
with open('eggs.csv', newline='') as csvfile:
     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
     for row in spamreader:
         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Boto3 사용자 지정 웨이터가 리소스 권한이 없어 거부되었습니다.

분류에서Dev

log / production.log 파일이 있지만 비어 있습니다.

분류에서Dev

.rdb 파일이 있지만 시작 후 Redis가 비어 있습니다.

분류에서Dev

내 레이크 실행 파일이 비어 있습니다.

분류에서Dev

Boto3 IAM 웨이터가 기다리고 있지 않습니다

분류에서Dev

Azure "Kudu"내의 .SVC 파일이 비어 있습니다.

분류에서Dev

값이 있지만 내 사전이 비어 있습니다.

분류에서Dev

이미지 파일이 비어 있습니다.

분류에서Dev

Gmail로 이메일을 보내도록 선택하면 이메일 본문이 비어 있습니다.

분류에서Dev

내 Makefile이 비어 있지만 make가 일부 오래된 명령을 실행하고 있습니다.

분류에서Dev

ListBox의 내용 확인이 비어 있지 않습니다.

분류에서Dev

자바 파일에 문자열 목록을 작성하지만, 파일이 비어 있습니다

분류에서Dev

공용 폴더에 파일이 있어도 내 페이지에 CSS가 표시되지 않습니다.

분류에서Dev

Tomcat의 sigquit 출력을 별도의 파일로 보내려고합니다. 파일이 생성되지만 비어 있습니까?

분류에서Dev

boto3 ConnectionClosedError 파이썬

분류에서Dev

비어 있지 않은 내용을 수신 한 후 전역 문자열이 비어 있습니다.

분류에서Dev

NameError : 'boto3'이름이 정의되지 않았습니다.

분류에서Dev

사용 후 내 ionic2 config.xml 파일이 비어 있습니다. 이유는 무엇입니까?

분류에서Dev

한 파일의 내용이 루비의 다른 파일에 포함되어 있는지 확인하는 방법

분류에서Dev

FileSystem을 사용하는 zip 파일에 대한 Java 이미지 출력이 비어 있습니다.

분류에서Dev

파일 이름에는 어떤 이유로 별표가 있습니다. 변경되지 않고 내용이 실행되지 않습니다.

분류에서Dev

파일이 비어 있지만 1 바이트 크기가 표시됩니다.

분류에서Dev

asp.net 페이지로 데이터를 가져 오는 데 문제가 있습니다. 페이지를 열면 모든 파일이 비어 있습니다.

분류에서Dev

Boto3 : upload_file ()을 사용하여 파일이 업로드되었는지 확인

분류에서Dev

A * 길 찾기에 문제가 있습니다. 컴파일하지만 이상하게 작동합니다.

분류에서Dev

webm 파일이 실제 비디오의 길이가 아닌 사용자 지정 시간을 사용하도록 할 수 있습니까? 그렇다면 어떻게?

분류에서Dev

React-Native : 코드가 올바르게 컴파일되지만 화면이 비어 있습니다.

분류에서Dev

사용자 정의 ELF 파일에 정의되지 않은 참조가 있지만 기호가 파일 기호 테이블에 정의되어 있습니다.

분류에서Dev

boto3로 인해 EMRFS 메타 데이터 불일치가 발생할 수 있습니다.

Related 관련 기사

  1. 1

    Boto3 사용자 지정 웨이터가 리소스 권한이 없어 거부되었습니다.

  2. 2

    log / production.log 파일이 있지만 비어 있습니다.

  3. 3

    .rdb 파일이 있지만 시작 후 Redis가 비어 있습니다.

  4. 4

    내 레이크 실행 파일이 비어 있습니다.

  5. 5

    Boto3 IAM 웨이터가 기다리고 있지 않습니다

  6. 6

    Azure "Kudu"내의 .SVC 파일이 비어 있습니다.

  7. 7

    값이 있지만 내 사전이 비어 있습니다.

  8. 8

    이미지 파일이 비어 있습니다.

  9. 9

    Gmail로 이메일을 보내도록 선택하면 이메일 본문이 비어 있습니다.

  10. 10

    내 Makefile이 비어 있지만 make가 일부 오래된 명령을 실행하고 있습니다.

  11. 11

    ListBox의 내용 확인이 비어 있지 않습니다.

  12. 12

    자바 파일에 문자열 목록을 작성하지만, 파일이 비어 있습니다

  13. 13

    공용 폴더에 파일이 있어도 내 페이지에 CSS가 표시되지 않습니다.

  14. 14

    Tomcat의 sigquit 출력을 별도의 파일로 보내려고합니다. 파일이 생성되지만 비어 있습니까?

  15. 15

    boto3 ConnectionClosedError 파이썬

  16. 16

    비어 있지 않은 내용을 수신 한 후 전역 문자열이 비어 있습니다.

  17. 17

    NameError : 'boto3'이름이 정의되지 않았습니다.

  18. 18

    사용 후 내 ionic2 config.xml 파일이 비어 있습니다. 이유는 무엇입니까?

  19. 19

    한 파일의 내용이 루비의 다른 파일에 포함되어 있는지 확인하는 방법

  20. 20

    FileSystem을 사용하는 zip 파일에 대한 Java 이미지 출력이 비어 있습니다.

  21. 21

    파일 이름에는 어떤 이유로 별표가 있습니다. 변경되지 않고 내용이 실행되지 않습니다.

  22. 22

    파일이 비어 있지만 1 바이트 크기가 표시됩니다.

  23. 23

    asp.net 페이지로 데이터를 가져 오는 데 문제가 있습니다. 페이지를 열면 모든 파일이 비어 있습니다.

  24. 24

    Boto3 : upload_file ()을 사용하여 파일이 업로드되었는지 확인

  25. 25

    A * 길 찾기에 문제가 있습니다. 컴파일하지만 이상하게 작동합니다.

  26. 26

    webm 파일이 실제 비디오의 길이가 아닌 사용자 지정 시간을 사용하도록 할 수 있습니까? 그렇다면 어떻게?

  27. 27

    React-Native : 코드가 올바르게 컴파일되지만 화면이 비어 있습니다.

  28. 28

    사용자 정의 ELF 파일에 정의되지 않은 참조가 있지만 기호가 파일 기호 테이블에 정의되어 있습니다.

  29. 29

    boto3로 인해 EMRFS 메타 데이터 불일치가 발생할 수 있습니다.

뜨겁다태그

보관