programing

Excel에서 CSV에 저장하면 지역별 날짜 형식이 손실됨

css3 2023. 9. 17. 13:25

Excel에서 CSV에 저장하면 지역별 날짜 형식이 손실됨

.csv로 변환해야 하는 .xls가 있습니다.

파일에 일부 날짜 열이 있습니다.날짜의 형식은 "*14/03/2001"이며 Excel에 따르면 OS에 지정된 지역별 날짜 및 시간 설정에 해당하는 날짜를 의미합니다.

Excel에서 열기:

20/01/2013
01/05/2013

CSV로 저장...

메모장에서 열기:

01/20/2013
05/01/2013

날짜 형식을 "14/03/2001"(아니오 *)로 설정하여 일시적으로 수정했지만 "d/mm/yyyy h:mm"과 같이 *가 없는 다른 사용자 지정 형식도 CSV에 저장하면 망가지게 됩니다.

일정관리 설정에서 컴퓨터의 날짜 및 시간 설정을 "짧은 날짜" 형식으로 변경합니다.이렇게 하면 yyyy-mm-dd 또는 표시할 파일의 형식이 변경되지만 컴퓨터에 저장된 파일의 경우에도 이 형식이 변경됩니다.

적어도 효과는 있습니다.

점을 명심하면서도 http://xkcd.com/1179/

결국 저는 포맷을 사용하기로 결정했습니다.YYYYMMDD모든 CSV 파일에서 Excel에서 날짜로 변환되지는 않지만 당사의 모든 애플리케이션에서 올바르게 읽을 수 있습니다.

이 절차에 따라 원하는 날짜 형식을 Excel에서 .csv로 저장할 수 있습니다. Excel 전문가가 더 정교화하고 단계 수를 줄일 수 있기를 바랍니다.

  1. 새 열 DATE_TMP를 만들고 =TEXT(이전 열, "날짜 형식-파일") 공식과 동일하게 설정합니다.

예를 들어, 이 예제에서 날짜가 A 열에 있는 경우 이 새 열에 대한 행 1의 값은 다음과 같습니다.

=TEXT(A1, "dd/mm/yyyyy")

  1. 기존 날짜 열 옆에 빈 열 DATE_NEW를 삽입합니다.

  2. 값으로 붙여넣기 옵션을 사용하여 DATE_TMP의 내용을 DATE_NEW에 붙여넣습니다.

  3. DATE_TMP 및 기존 날짜 열을 제거하고 DATE_NEW를 이전 날짜 열로 이름 바꿉니다.

  4. csv로 저장합니다.

1보다 훨씬 많은 작업이 필요합니다. 내보내기 2를 클릭합니다.파일을 엽니다.

Excel CSV 문서가 OS 및 지역 설정을 해석하는 것에 대해 설명할 때 Excel이 파일("특별한" csv 형식)을 열 때 이를 수행할 것이라고 생각합니다.이 문서 "Excel 형식 기능은 다른 파일 형식으로 전송되지 않습니다."를 참조하십시오.

또한 엑셀은 실제로 숫자를 저장하고 있고, 표시만을 위한 날짜 문자열로 변환하고 있습니다.CSV로 내보낼 때 다른 날짜 문자열로 변환됩니다.날짜 문자열을 기본값이 아닌 것으로 하려면 Excel 셀을 문자열로 변환한 후 내보내기를 수행해야 합니다.

또는 Excel이 저장하고 있는 숫자 값으로 날짜를 변환할 수도 있습니다.타임코드이기 때문에 제대로 가져온다고 가정하면 실제로는 OS와 지역 설정을 준수하게 됩니다.메모장에는 10자리 숫자만 표시됩니다.

미리 선택한 날짜 형식이 아닌 사용자 지정 형식을 사용하는 경우 CSV로 내보내기하면 선택한 형식이 유지됩니다.그렇지 않으면 기본적으로 미국 형식으로 돌아갑니다.

아포스트로피를 날짜 앞에 놓으면 올바른 형식으로 내보냅니다.그냥 제가 찾은 건데, 답을 찾고 있는 이 스레드를 발견했어요.

확장성이 높지 않은 수정 방법으로 데이터를 일반 텍스트 편집기에 복사하고 셀을 텍스트로 변환한 다음 데이터를 스프레드시트에 다시 복사합니다.

을 한 번 , 형식으로 예: " "으로 " 하고 " 을 " 를 " " " " " 합니다 " 으로 " " " 한 " " " " 합니다 " " 으로 " " " " " " "한 " " "numberformat = "d/m/yyyy"저장 및 닫기 전에 이동합니다.savechanges매개 변수가 true입니다.

날짜를 "날짜"가 아니라 문자열의 시작과 끝에 빈 공간이 있는 " 문자열"처럼 보내도 됩니다.

당신의 '11/02/2023'을 날짜처럼 보기 때문에 문제가 발생하고 있습니다만, 해킹해서 이 날짜를 '11/02/2023'처럼 간단한 문자열로 변경할 수 있습니다.

이전: '11/02/2023'

새(솔루션): '11/02/2023'

언급URL : https://stackoverflow.com/questions/14762834/saving-to-csv-in-excel-loses-regional-date-format