问题
Microsoft Excel以其无限的智慧,选择在打开CSV文件时将任何内容解释为日期。
例如,我从外部应用程序导出了一些数据,其中一个字段包含的数据不是日期,如下所示:
1/3/1
1/3/2
1/3/3
etc.
字符串
当在Excel中打开CSV时,它将这些显示为
01/03/2001
01/03/2002
01/03/2003
etc
型
我所尝试的
如果我右键单击>设置单元格格式>更改为“text”或“general”,那就太晚了-此时Excel已经认为它是一个日期,所以它将其更改为这样的数字:
36951
37316
37681
etc.
型
我宁愿在Excel中编辑数据(而不是文本编辑器)。
肯定有人遇到过这个问题吧?
现在是2023年,我认为在没有首先研究的情况下发布这个问题有点荒谬,因为肯定有人有同样的问题,唉,这里有一个堆栈溢出问题的列表,以及为什么它们不相关:
Date Format Changed in CSV File-谈论“以所需格式保存日期”。不适用。
在打开/保存CSV时,防止Excel转换日期-听起来像罚单-除了这里没有一个解决方案实际上讨论了防止Excel自动解释日期的方法。
Stop Excel from automatically converting certain text values to dates-谈论在CSV中使用令牌来阻止Excel。同样,这是不好的,因为我需要保持CSV的格式,因为它是一个模板文件,用于将数据导入到另一个应用程序。
Retroactively stop Excel from interpreting cell values as dates-谈论追溯地做这件事,即她在Excel中打开文件,保存它,然后在事后意识到它并希望转换回特定格式。
如果有人比我有更好的duckduckgo-fu,请把我链接到答案。
问题
如果不改变我的Windows区域设置,这显然会改变日期的解释方式,而不是实际阻止日期被解释,有人能告诉我如何实现我想要的吗?
如果做不到这一点,我会很乐意更改Windows区域设置来完成这项工作,但不知何故,我觉得我不应该这样做,因为我希望Excel允许我在打开文件时不进行任何解释的情况下处理CSV文件中的文本。
1条答案
按热度按时间oalqel3c1#
下面是我将使用的文本文件:
字符串
我在Windows上有M365 Excel。
让我们转到“数据”选项卡->“从文本/CSV
x1c 0d1x的数据
Excel要求我选择CSV文件。在我选择它之后,Excel会显示它认为会汇入的项目。正如您所注意到的,1/3/1转换为日期-这是您不希望看到的。
的
在该向导的底部是一个名为
Transform
的按钮。的
当我按一下它时,结果会显示在Power Query中。
的
我将删除Excel明智地引入的名为
Changed Type
的步骤。x1c4d 1x的
然后将数据正确地解释为
1/3/1
。单击“关闭并加载”。
型
在Excel中,我们有了所需格式的数据。
型
使用传统向导
如果没有旧版向导,请使用https://officesmart.wordpress.com/2018/06/18/turn-on-the-legacy-wizards-in-microsoft-excel-365/打开旧版向导。
转到“数据”>“获取数据”>“旧向导”>“从文本
型
选择您的档案,并保留预设选项“分隔”。
型
选择逗号分隔符。
型
单击您选择的列,并确保将其标记为“文本”。
型
您也可以通过单击其他列并更改其数据类型来更改这些列的数据类型。
加载数据时,将看不到列标题。只是数据是这样的:
型