我有一个 .txt 文件,里面有如下数字:
99.69599
100.7113
101.7196
123.93
但每当我将它们导出到 Excel 时,它们就会变成这样-
9.969.599
1.007.113
1.017.196
123.93
请注意,.txt 文件中的数字是美国英语格式,但 excel 是德文格式。因此在 excel(德文格式)中小数点和逗号是相反的,这意味着它使用“。”来表示“,”,使用“,”来表示“。”。
- 美国/英语千位和小数分隔符:
1,234.56
- 欧洲千位和小数分隔符:
1.234,56
主要问题是 Excel 在导出数字时由于某种原因移动了小数点。有人可以帮我解决这个问题吗?
答案1
由于完成这项工作的技术基本上已经得到解答,因此有两件事:
1) 出现此问题的原因是 Excel 将文本解释为以德语格式格式化,因此句号(英语用法中的小数分隔符)被您的 Excel 视为放错位置的整数分组符。例如,它会认为“99.34567”是使用英语的 Excel 用户看到的“99,34567”,并且有人错误地放置了逗号。然后它会为您修复这个问题并“正确”放置分隔符。
您可以在导入之前修复它,这可以通过任何简单的程序(如记事本或写字板)轻松完成,如果您通过使用 Excel 打开文件来导入文件,您会更喜欢这样做。
如果 Excel 已打开,并且您要导入到已打开的 Excel 中,则只需在转储数据之前将要转储数据的列格式化为文本,然后执行 Excel 中描述的操作即可。无论哪种方式对您来说都很好。
2) 不要插入单引号 ('),因为在很多情况下,Excel 不会允许删除该引号,您需要执行几个额外步骤才能获得干净的数字。也许不是所有情况,但非常非常多...
答案2
重新阅读评论(在撰写本文时),似乎完成此任务的“理智”(区域无关!)方法是
- 确保数字最初以文本形式出现(导入后)。
- 然后用空字符串(“”)替换任何千位分隔符,
- 然后将小数点分隔符替换为 Excel 实际使用的分隔符。
- 然后使用“选择性粘贴”功能执行“添加零”(或乘以一),使 Excel 的文本数据格式化选择所有数据后,变为“数字”。
第一步可能需要(需要)一些sed
,,awk
(在此处插入最喜欢的脚本小工具名称)或“python 魔法”,例如在所有数字前插入单引号'
- Excel 将其解释为文字“这是文本”标记。
最后一步是:
在随机单元格中输入 1,选择该单元格并复制,然后选择要转换的数据并执行“选择性粘贴”,在对话框中选择乘法,单击确定。