我有一个使用某些传统软件生成的.csv文件。没有办法查看代码内部生成csv文件的方式或内容。
我的问题是日期字段格式表现得很奇怪。 .csv文件以以下格式存储日期。
MM-dd-yyyy HH:mm:ss.SSS
查看记事本(原始数据)中的文件,我们得到如下列的列表:
"01-12-2013 14:23:38.000",146.199997
"01-12-2013 23:20:29.000",146.199997
"01-13-2013 17:59:23.000",152.299988
"01-13-2013 18:08:40.000",147.300003
"01-13-2013 18:25:52.000",156.000000
"01-13-2013 18:35:14.000",146.300003
"01-13-2013 18:44:56.000",148.500000
"01-13-2013 18:56:41.000",151.699997
注意:我已经删除了剩余的列以使其更容易在眼睛上显示,因此我们只看到.csv文件中的前两列。
现在,当我在Excel 2010版本14.0.6023.1000(32位)中打开此文件时,我收到了日期格式问题。
首先,如果我只是打开文件,我会得到这样的混合日期格式块:
而且:
我可以看到,当日值从12切换到13时,Excel会变得混乱。如果我然后尝试使用以下单元格格式设置更改格式以解决问题:
当日期小于13时,我会在列中显示以下内容:
当日期大于或等于13时的以下格式:
任何帮助都会非常感激,因为我现在完全没有想法。
注意:我也尝试将.csv文件的内容复制到另一个文件中,但新文件中也会出现相同的情况。
答案 0 :(得分:1)
此问题与Excel如何解释日期格式(M / D / Y与D / M / Y)有关。您的系统似乎是为D / M / Y日期格式设置的。您无法在Excel中找到该设置,因为它是从您的系统设置中获取的。转到语言设置并添加美国英语。然后将其设置为默认值并尝试再次打开CSV文件。 或者,您可以将csv文件内容粘贴到新工作表中,然后使用' Text-to-Columns'功能,可让您指定日期格式。
答案 1 :(得分:1)
.csv 的格式与您的区域设置之间存在冲突。
首先将数据导入为文字,(而不是双击)。然后在 B1 或其他一些栏目中输入:
=DATE(MID(A1,8,4),MID(A1,2,2),MID(A1,5,2))+TIMEVALUE(MID(A1,13,8))
并应用所需的格式:
答案 2 :(得分:0)
在阅读了@ Gary的学生和@hughg的答案后,我找到了一个解决我的实例的工作。谢谢你的想法。
所以要解决我的问题:
dd/mm/yyyy hh:mm:ss
结果是文件中的每个日期现在都正确格式化为英国日期格式。