Excel에서 완전히 열 수없는 큰 CSV 파일이 있습니다.큰 CSV 파일에서 데이터 가져 오기
내가 MySQL의에이 데이터를 가져올 수있는 스크립트가 스크립트가 일부 날짜 열을 변환하고 다른 모든 수입 :
LOAD DATA LOCAL INFILE 'A:\\My Files\\Desktop\\SPX\\Book2.csv'
INTO TABLE spx_options_data2
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@date, symbol, under, @expiration, strike, put_call, bid, ask, price, volume, open_interest, implied_vol, delta, gamma, rho, theta, vega, nonstd)
SET date = STR_TO_DATE(@date, '%d/%m/%Y'),
expiration = STR_TO_DATE(@expiration, '%d/%m/%Y'),
implied_vol = IF(implied_vol = "",NULL,implied_vol);
내가 전체 파일을 가져 오려고, 행의 대부분은 건너 뛰고과를 가져온 작은 데이터는 날짜 필드가 0000-00-00입니다. MySQL이 제공 에러 응답의 단편이다 영향
580 행 (들) (64) (S)주의 : 1,411 ............ 잘못된 날짜 값 '2014년 1월 2일'기능 str_to_date 1048 'date'열이 일 수 없음 ......... 1411 잘못된 날짜 시간 값 : '2014-01-18'(함수 ) str_to_date .......... 기록 : 1,333,176 삭제 : 0 건너 뛴 : 1,332,596 경고 : 그러나 7,354,726
나는 경우 :
가- 열기 모든 데이터를 엑셀 엑셀
- 복사에서 csv 파일을 다른 CSV로 열 수 있습니다 내가 더 잘 SUC를 얻을 수
파일
1,035,456 행 (들) 영향을, 64 경고 (들) : .......... 1292 잘림 잘못된 10 진수 값 : ''............... 1062 중복 된 항목 'PRIMARY'키에 '2014-01-02-SPX-1450-C-2014-01-18'. 1366 잘못된 진수 값 : 1,048,575 삭제 : 0 건너 뛴 : 13,119 경고 : 52,540
질문
- 무엇입니까 ...... 기록은 행 2262에서 implied_vol ''열의 '' 큰 CSV 파일을 MySQL로 가져 오는 가장 좋은 방법은 무엇입니까?
- 동일한 소스 및 형식의 데이터 임에도 불구하고 왜 다른 결과가 나옵니까? (1035456 개의 행이 두 번째 경우에만 VS가 처음에는 580 개만 가져옴)
- 왜 많은 행이 건너 뛰었습니까?
도움 주셔서 감사합니다. ADyson에
유효한 csv 파일인지 확인 했습니까? – Marichyasana
은 데이터 품질 문제가있는 것처럼 보입니다. 잘못된 날짜 형식, 숫자 형식 등 모든 행을 가져 오기 전에 먼저 정렬해야합니다. 두 수입 간의 불일치는 아마도 Excel이 파일을 저장하기 전에 파일에 일종의 처리를했기 때문일 수 있습니다. 두 파일의 샘플을 사용할 필요없이 말하기가 어렵습니다. 또한 Excel이 CSV를 여는 유일한 방법이 아니므로 메모장 + +와 같은 텍스트 편집기에서 확인하여 확인할 수 있습니다. – ADyson
안녕 모두, 단지 의견의 일부에 응답 : (1) 예는 유효한 CSV 파일, 즉 파일 속성 이렇게 말한다. (2) 데이터는 온라인 금융 데이터베이스에서 제공되므로 형식이 동일해야합니다. (3) 복사 및 붙여 넣은 부분은 원래 csv 파일의 파일 크기의 76 %이므로 비슷한 비율로 오류/형식 지정 문제가있을 것으로 예상됩니다. (4) 덕분에 나는 Notedpad ++에게 지금 –