큰 .csv 파일을 파이썬으로 열어 각 행을 분리하고 마지막 x 줄을 새 목록에 추가하려고했습니다.큰 .csv 파일을 파이썬에서 열 수 없습니다.
btcDatear = []
btcPricear = []
btcVolumear = []
howfarback = 20000
try:
sourceCode = open('.btceUSD.csv', 'r')
splitSource = sourceCode.split('\n')
for eachline in splitSource[-howfarback:]:
splitLine = eachline.split(',')
btcDate = splitLine[0]
btcPrice = splitLine[1]
btcVolume = splitLine[2]
btcDatear.append(float(btcDate))
btcPricear.append(float(btcPrice))
btcVolumear.append(float(btcVolume))
except Exception, e:
print "failed raw data", str(e)
20 메가 비트의 작은 파일로 성공하고이 하나는 700MB이므로 내 코드에는 아무런 문제가 없다고 생각합니다. 3 개의 열을 세 개의 별개 목록으로 만드는 더 좋은 방법이 있습니까? 마지막 x 숫자가 필요해. 또는 내 파일이 내 코드를 통과 할 정도로 작아서 처음 200.000을 제거 할 수 있습니까?
가능한 경우이 작업 중 하나를 수행하려면 + -3 분 이내 여야합니다.
배열 x 번호를 크게 만들고 현재 줄 번호를 모듈로 x로 쓸 수 있습니다. – usr1234567
모든 데이터를 목록에 보관하지 말고 읽은대로 처리하십시오. 그리고 실제로'sourceCode.split ('\ n')'을하지 말고'for' 루프를 사용하십시오. –
감사합니다. 어떻게 할 수 있습니까? 왜냐하면 내가 목록에 전체 파일을 열어야하므로 마지막 x 행이 필요하기 때문입니까? – henkaap