CSV/Excel에 가장 적합한 타임스탬프 형식?
CSV 파일을 쓰고 있어요.최소 1초, 그리고 가능하면 밀리초까지 정확한 타임스탬프를 작성해야 합니다.사용자 개입을 최소화하면서 Excel을 통해 정확하고 명확하게 구문 분석할 수 있는 CSV 파일의 타임스탬프 형식은 무엇입니까?
두 번째 정밀도를 위해 yyy-MM-dd HH:mm:ss가 이 기능을 수행합니다.
엑셀은 1초도 잘하지 않는다고 생각합니다(COM 오브젝트 IIRC와 대화할 때 없어집니다).
"yyy-MM-dd HH:mm:ss"를 사용하는 이전 제안도 괜찮지만, Excel의 시간 해상도는 훨씬 더 좋다고 생각합니다.이 투고는 꽤 신뢰할 수 있다고 생각합니다(스루드를 따라가면 많은 산술과 Excel을 사용한 실험을 볼 수 있습니다). 만약 그것이 맞다면, 당신은 몇 밀리초의 시간을 가질 수 있을 것입니다.끝에는 소수점 이하를 붙이면 됩니다."yyy-mm-dd hh:mm:ss.000" 입니다.
Excel은 (인간의 개입 없이) 모든 정밀도를 확인할 수 있는 방식으로 데이터를 포맷할 필요는 없습니다.회사 컴퓨터에서 "yyy-mm-dd hh:mm:ss.000" 데이터로 CSV를 설정하면(메모장을 사용하여) 셀에 "mm:ss.0"이 표시되고 공식 바에 "m/d/yy hh:mm:ss AM/PM"이 표시됩니다.
셀에 전달되는 최대 정보 [1]의 경우 타임스탬프를 날짜 부분과 시간 부분으로 분할하여 시간 부분을 초까지만 지정할 수 있습니다.내 생각에 Excel은 주어진 셀에서 최대 3개의 가시적인 "레벨"(1초의 단수가 자신의 레벨인 경우)을 제공하고자 하며, 사용자는 7: 년, 월, 일, 시간, 분, 초 및 1초의 단수를 원합니다.
또는 타임스탬프를 사람이 읽을 수 있도록 할 필요는 없지만 가능한 한 정확한 타임스탬프를 원하는 경우에는 큰 숫자를 저장하는 것이 좋습니다(내부적으로는 Excel은 "Epoch" 날짜 이후 일부 일수를 포함한 일수를 사용합니다).
[1]즉, 숫자 정보입니다.가능한 한 많은 정보를 표시하고 싶지만 계산에 신경 쓰지 않는 경우, Excel이 문자열로 해석하는 형식을 만들어 두면 됩니다."yyymmdd.hmmss.000"을 클릭합니다.
"yyy-MM-d hh:mm:ss.000" 형식은 일부 로케일에서 작동하지 않습니다.일부(최소한 덴마크어)에서는 "yyy-MM-d hh:mm:ss000"이 더 잘 작동합니다.
만약 당신이 그 버팀목을 사용한다면double데이터 타입, Excel에서의 재계산은 정상적으로 동작합니다.
[컨트롤 패널]의 [언어 설정], [포맷 옵션]의 순서로 이동하여 로케일을 선택하고 Windows에서 기본적으로 사용하는 선택한 로케일의 실제 날짜 형식을 확인합니다.네, 이 타임스탬프 형식은 로케일에 의존합니다.Excel은 CSV를 해석할 때 이러한 형식을 사용합니다.
게다가 로케일이 ASCII 이외의 문자를 사용하고 있는 경우는, 대응하는 Unicode 이전의 Windows 「ANSI」코드 페이지(예를 들면 CP1251)에서 CSV 를 송신할 필요가 있습니다.Excel은 UTF-8을 사용할 수 없습니다.
"yyy-mm-dd hh:mm:ss.000" 형식은 일부 로케일에서 작동하지 않습니다.일부(최소한 덴마크어)에서는 "yyy-mm-dd hh:mm:ss000"이 더 잘 작동합니다.
사용자 662894가 응답한 대로입니다.
추가할 내용:예를 들어 SQL Server의 datetime2 데이터 유형에서 마이크로초를 가져오지 마십시오.Excel은 3초(밀리초) 이상을 처리할 수 없습니다.
따라서 "yyy-mm-dd hh:mm:ss.000000"은 작동하지 않습니다.Excel이 (CSV 파일에서) 이런 종류의 문자열을 제공받으면 잘라내기보다는 반올림을 수행합니다.
마이크로초의 정밀도가 중요한 경우를 제외하고, 이 경우 자동 데이터형 인식을 트리거하지 않고 문자열을 문자열로 유지하는 것이 좋습니다.
이상하게도 Excel은 CSV 날짜를 다른 방법으로 Import합니다.또한 CSV 파일에서 사용되는 형식에 따라 다르게 표시합니다.안타깝게도 ISO 8061 형식은 문자열로 제공됩니다.그러면 직접 날짜를 다시 포맷할 수 없습니다.
데이트 신청자들 전부 다...전체 정보를 포함합니다...포맷이 다른데...마음에 들지 않는 경우는, Excel 의 컬럼의 새로운 포맷을 선택하면 동작합니다.(주의: 유효한 날짜/시간으로서 입력된 것을 알 수 있습니다.)문자열로 입력되면 왼쪽이 정당화됩니다.)
테스트한 형식은 다음과 같습니다.
"yyy-MM-dd"는 Excel로 열면 과정 날짜로 표시됩니다.('MM/dd/yyy'도 기능)
"yyy-MM-dd HH:mm:ss" 기본 표시 형식은 "MM/dd/yy HH:mm"입니다(날짜 및 시간(초/아웃)).
"yyy-MM-dd HH:mm:ss.fff" 기본 표시 형식은 " " 입니다.HH:mm:ss" (초당 시간만)
타임존은요.UTC 오프셋을 UTC에서 초 단위로 저장해야 합니다.이렇게 하면 Excel/OpenOffice의 공식은 최종적으로 데이터 시간을 현지화할 수 있습니다.이것은 앞에 0이 있는 숫자를 저장하는 것보다 쉽다는 것을 알게 되었습니다. -0900은 어떤 스프레드시트 시스템에서도 구문 분석이 잘 되지 않았고 Import는 거의 불가능했습니다.
MM/dd/yyy hh:mm:ss 형식을 사용해 보십시오.
XML 파일을 작성하기 위한 Java 코드.
xmlResponse.append("mydate>").append("this.formatDate(resultSet.getTimestamp("date")), "MM/d/yyyy hh:mm:ss a").append("");
public String formatDate(Date date, String format)
{
String dateString = "";
if(null != date)
{
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
dateString = dateFormat.format(date);
}
return dateString;
}
CSV 파일에 yyy-mm-dd hh:mm:ss 라고 타임스탬프를 썼습니다.
Excel 365에서 빈 워크북을 만들고 데이터 탭으로 이동하여 "텍스트/CSV에서"를 선택합니다.
대화상자가 열리고 미리보기가 나타납니다.이 대화상자는 타임스탬프의 첫 번째 열은 그대로 유지되지만 두 번째 열은 변환됨을 나타냅니다.
데이터를 "로드"하거나 "데이터 변환"을 선택할 수 있습니다.
이제 "Power Query Editor(파워 쿼리 에디터)"에서 Excel이 열을 가져오는 방법을 마사지할 수 있습니다.
이 경우 자동 변경을 취소하고 리본의 작은 버튼을 사용하여 두 열이 모두 데이터 유형 "날짜/시간"이라고 알립니다.
Close & Load를 누르면 데이터 소스로 Excel로 정렬할 수 있습니다.
datetime 컬럼이 yyy-mm-dd hh:mm:ss 형식으로 지정된 CSV 파일
Excel은 다음 형식으로 표시합니다: dd/mm/yyy hh:mm
예: 2020-05-22 16:40:55는 22/05/1984 16:40으로 표시됩니다.
이는 Windows에서 선택한 Short date 및 Short time 형식에 따라 결정됩니다. 예를 들어 Windows에서 Short date 형식을 yyy-mm-dd로 변경하면 Excel에 2020-05-22 16:40이 표시됩니다.
번거롭지만 엑셀에 자동으로 초수를 표시하는 방법을 찾을 수 없습니다(엑셀의 컬럼을 수동으로 포맷해야 합니다).그러나 csv 파일에 hh:mm:ss 형식(예: 16:40:55)의 시간 열이 포함되어 있는 경우 Excel에는 초가 표시됩니다.
ISO 포맷이 좋을 것 같아요.(Wikipedia 기사, 시간 정보 포함)
언급URL : https://stackoverflow.com/questions/804118/best-timestamp-format-for-csv-excel
'programing' 카테고리의 다른 글
| XAML 에서 범용 타입을 지정할 수 있습니까(전).NET 4 프레임워크)? (0) | 2023.04.19 |
|---|---|
| 파일 이름의 일부 이름 바꾸기 (0) | 2023.04.19 |
| DataTemplate에서 상위 DataContext에 액세스합니다. (0) | 2023.04.19 |
| 어떤 WPF 책을 추천하시겠습니까? (0) | 2023.04.19 |
| 셀에 문자열 X가 포함되어 있는 경우 행 전체를 삭제합니다. (0) | 2023.04.19 |