以任何方式使Excel 2010在打开CSV时都将引号“ 08540”视为文本而非数字


2

我有一个包含以下数据的CSV:

  "08540",1,"PRINCETON","NJ"

我知道可以在使用导入向导并定义列时指定“文本”。但是,当Excel 打开 CSV文件时,是否有办法告诉Excel将带引号的值视为“文本” ?


2
我敢肯定,唯一的方法就是通过导入向导。CSV打开是打开文件的便捷功能,默认行为会限制您的工作。
布拉德·巴顿

Answers:


1

无法自动执行此操作。您需要先将文件转换为以下格式:

="08540",1,"PRINCETON","NJ"

如果您的文件确实具有您说的格式(即,您只需要=在每一行的开头添加内容),则转换很容易。CONVERT.BAT使用以下代码在桌面上创建文件:

@echo off
mkdir "%USERPROFILE%\Desktop\Converted CSV files"
:next
if '%1'=='' goto done
set CSV="%USERPROFILE%\Desktop\Converted CSV files\%~nx1"
for /F "tokens=*" %%A in ('TYPE %1') do echo =%%A >>%CSV%
shift
goto next
:done

现在,您可以将.CSV文件拖放到CONVERT图标上。处理后的文件将出现在Converted CSV files文件夹中。


那也是我知道的唯一方法。当涉及到CSV处理时,Excel真是个死灵。您甚至无法告诉它将文件中的所有内容都视为纯文本(如果双击CSV而不是通过“文件打开”向导导入,则应为默认的imho)。
Tonny

打开文件时该怎么做?还是我想念一些东西……
杰里

@Jerry使用诸如记事本之类的纯文本编辑器编辑文件,然后再将其加载到Excel中。是的...我知道...您最好先启动Excel,然后通过File-Open打开CSV,然后通过向导设置类型。实际上,这没那么麻烦。就像我说的。Excel对CSV处理很愚蠢。
Tonny

嗯,好的,这可以清除整个过程:)是的,即使我使用脚本添加等号...导入向导也将是一种更简单,更快捷的方法。
杰里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.