如何在 Excel 2013 中正确显示 .csv 文件?
Posted
技术标签:
【中文标题】如何在 Excel 2013 中正确显示 .csv 文件?【英文标题】:How to correctly display .csv files within Excel 2013? 【发布时间】:2013-07-30 23:49:31 【问题描述】:Excel 2013 似乎无法正确读取 CSV 文件(Excel 2010 可以)。每次我打开 .csv 文件时,我的所有数据都会显示在第一列中。
我知道我可以去DATA
,Convert
,然后选择commas
,但是这个设置没有保存,每次打开这种文件我都受够了。
如何一劳永逸地设置 Excel 2013 以漂亮地显示 CSV 文件(逗号分隔)?
【问题讨论】:
当您打开文件时是否出现任何消息? 没有。没有消息出现 我的经验是,如果文件有标题行,Excel 2013 会自动通过导入向导。如果没有该标题行,它将全部显示为每行一列。 【参考方案1】:使用像 Notepad++ 这样的文本编辑器打开 CSV 文件,并在第一行添加以下文本:
sep=,
现在再次用excel打开它。
这会将分隔符设置为逗号,或者您可以将其更改为您需要的任何内容。
【讨论】:
最好的解决方案,但不是我所期望的。该设置不是来自 Excel 本身,这意味着我必须在我的所有 CSV 文件上写上这行。 这是非标准的事实,没有编写 CSV 的应用程序添加此行,并且只有 Excel(据我所知)接受它。使其成为最佳解决方案。更不用说这不适用于 Excel 2007(我们在工作中最好的) 我们不是在谈论标准。我们谈论的是 Microsoft Excel。 Excel 附带不同的配置和热键,具体取决于语言。这使得导入 CSV 文件成为一个难题。这只是一种解决方法,我相信它可以帮助很多人,主要是高级用户,尽管不是最佳答案。 需要一个不涉及向文件添加行的解决方案,因为这会破坏需要使用文件的其他内容。另外,已经尝试过区域设置解决方案,但是设置已经按照指示进行,excel 仍然将所有内容放在第一列中。 如果您在 Libreoffice Calc 中打开 csv,则会显示该行。不过在 MS excel 中工作正常。【参考方案2】:对于 Excel 2013:
-
打开空白工作簿。
转到数据标签。
点击一般外部数据部分中的From Text按钮。
选择您的 CSV 文件。
按照文本导入向导。 (在第 2 步中,选择文本的分隔符)
http://blogmines.com/blog/how-to-import-text-file-in-excel-2013/
【讨论】:
【参考方案3】:问题来自区域选项。 win 7 中欧洲国家的小数点分隔符是 coma 。您必须打开控制面板 -> 区域和语言选项 -> 其他设置 -> 小数分隔符:单击以输入点 (.) 并在列表分隔符中输入逗号 (,)。 这是!
【讨论】:
这不起作用。我按照指示设置了此设置,但它被忽略了。一切都在第一列。 太棒了 - 这只是帮助了一位正在使用 Office 2011 的同事。我们将她的地区从波兰(使用“,”作为小数分隔符)设置为英国,并修复了它。为什么这会有所作为我不知道...... 这个解决方案对我有用(excel 2013)。我调整了我的区域格式:我将点 (.) 设置为“小数分隔符”,将逗号 (,) 设置为“千位分隔符”,将逗号 (,) 设置为“列表分隔符” 我使用的是 Windows 10 默认的“英语(加拿大)”格式,该格式在使用 Excel 2013-2016 打开文件时通常会正确显示 CSV 文件(以列分隔)。最近我注意到,在重新打开一个 CSV 文件后,我的一个应用程序正在更改默认编号格式。如此处所指定,在恢复为点 (.) 作为“小数分隔符”和逗号 (,) 作为“列表分隔符”编号格式后,CSV 文件显示正常。无需花哨的解决方法,即使用记事本破解 CSV 文件的第一行以添加“sep=” 终于!在尝试了比我应该用 Notepad++ 中的正则表达式替换分隔符、小数点/逗号而不是引号中的字符等多分钟之后,我被提醒this answer 并且只是以不同的方式设置我的语言设置,如此处所示。现在它可以正确分隔列并且数字也可以正确显示,而不会弄乱任何文本。【参考方案4】:我知道答案已被接受,但要检查的一项是 CSV 文件的编码。我有一个生成 CSV 文件的 Powershell 脚本。默认情况下,它将它们编码为 UCS-2 Little Endian(每个 Notepad++)。它会在 Excel 中的单个列中打开文件,我必须进行 Text to Columns 转换来拆分列。更改脚本以将相同的输出编码为“ASCII”(UTF-8 w/o BOM per Notepad++)允许我直接打开 CSV 并拆分列。您也可以在Notepad++ 中更改 CSV 的编码。
菜单编码 > 在没有BOM的情况下转换为UTF-8 保存 CSV 文件 在 Excel 中打开,应拆分列【讨论】:
我很欣赏这个答案。我喜欢使用Some-Command | Out-File -Encoding Default
,它通常会提供正确的 ANSI 编码(至少在美国是出厂默认设置)。
那么如果你不指定编码,Out-File
默认将文件编码为Default
以外的东西?我试图理解……它是默认的……但不是默认使用的……因此不是默认的?
使用“-Encoding Default”为我修复了它。谢谢!【参考方案5】:
您可以在 Excel 2013 中选择所需的分隔符 转到 DATA -> Text To Columns -> 选择 delimited -> 然后选择分隔符“制表符、分号、逗号、空格或其他”,您将立即在“数据预览”中看到更改,然后单击“完成”
获得所需格式后,您只需保存文档即可永久保存。
【讨论】:
这并没有解决主要问题。我们需要将其作为任何此类文件的默认行为,而不是在一个特定文件中修复它。【参考方案6】:取自https://superuser.com/questions/238944/how-to-force-excel-to-open-csv-files-with-data-arranged-in-columns
Excel 在打开 CSV 文件时的行为很大程度上取决于您的本地设置和在区域和语言下选择的列表分隔符 » 格式 » 高级。默认情况下,Excel 将假定每个 CSV 都使用该分隔符保存。只要 CSV 不是来自其他国家/地区,情况就是如此!
如果您的客户在其他国家/地区,他们可能会看到与您想象的不同的结果。
例如,在这里您会看到德语 Excel 将使用分号而不是像在美国那样的逗号。
【讨论】:
> 这个解决方案对我有用(excel 2013)。我调整了我的区域格式:我将点 (.) 设置为“小数分隔符”,将逗号 (,) 设置为“千位分隔符”,将逗号 (,) 设置为“列表分隔符” – cesargastonec 2015 年 7 月 13 日 16 点: 05 或者您可以在 Excel 选项中更改小数点分隔符superuser.com/a/1470373【参考方案7】:另一个可能的问题是 csv 文件包含字节顺序标记“FEFF”。字节顺序标记旨在检测文件是否已从使用大端或小端字节排序的系统移动到相反字节序的系统。 https://en.wikipedia.org/wiki/Byte_order_mark
使用十六进制编辑器删除“FEFF”字节顺序标记应该允许 Excel 读取文件。
【讨论】:
以上是关于如何在 Excel 2013 中正确显示 .csv 文件?的主要内容,如果未能解决你的问题,请参考以下文章
将元数据添加到 CSV 文件中以指示 Excel 应如何打开
如何在 ruby on rails 中显示 Datatable 表格工具(复制、csv、excel、pdf、保存)
print(encoding / edcoding)法语字符在txt文件中有效,但在excel / csv [python]中不正确