Ror*_*ker 14 import csv microsoft-excel
如何让 Excel 导入我的CSV文件?
我有一个声称是 CSV 的文件。它包含 10 个字段,所有字段都用双引号括起来(是的,甚至是日期和数字)。其中 2 或 3 个字段包含逗号。但是这些字段中的数据也被引号包围。
当我尝试打开此文件时,Excel 完全忽略引号并假定它们是数据的一部分。
因此,它将包含逗号的字段拆分为多列。
这很糟糕,至少对我来说是这样。
"20051", "", "2009 Sep 30 02:53:23", "SOMETEXT", "", "5000", "2000000", "2008 - 99999 - -99999, 2008 - unk - unk", "191 - SOMETEXT - SOMETEXT, 192 - SOMETEXT - SOMETEXT, 193 - SOMETEXT - SOMETEXT, 194 - SOMETEXT - SOMETEXT, 195 - SOMETEXT - SOMETEXT, 196 - SOMETEXT - SOMETEXT", "45 - SOMETEXT - SOMETEXT, 1162 - SOMETEXT, SOMETEXT - SOMETEXT - SOMETEXT - SOMETEXT - SOMETEXT, 141 - SOMETEXT - SOMETEXT" "20052", "SOMETEXT", "2009 Sep 08 07:56:50", "SOMETEXT", "", "50000", "5000000", "2007 - 99999 - 99999", "146 - SOMETEXT - SOMETEXT, 144 - SOMETEXT - SOMETEXT, 147 - SOMETEXT - SOMETEXT, 148 - SOMETEXT - SOMETEXT", "103 - SOMETEXT - SOMETEXT, 1131 - SOMETEXT - SOMETEXT"
我已经使用导入工具来指定分隔符等,但这似乎没有帮助。
我曾尝试将“文本分隔符”从双引号切换为“{none}”,然后再返回。这似乎只影响第一列。如果可以单击其他列并将此设置应用于每一列,这将是合理的。但事实并非如此,这似乎旨在跨列工作。
我还能尝试什么?
小智 15
我刚刚尝试了一个快速测试来复制您的问题。
我在 Word(使用智能引号)中创建了一个 1 行 CSV 作为 test.csv “123”,“4,5,6”,并按照您的描述在 Excel 中打开。
尝试将“和”替换为“
玩过您的示例后,我注意到 Excel 不喜欢字段之间的空格
例如代替
"20051", "", "2009 Sep 30 02:53:23", ...
Run Code Online (Sandbox Code Playgroud)
你要
"20051","","2009 Sep 30 02:53:23",...
Run Code Online (Sandbox Code Playgroud)
一个体面的正则表达式替换应该能够处理它
Find: |("[^"]*",) |
Replace: |\1|
Run Code Online (Sandbox Code Playgroud)
(管道字符仅用于视觉提示)
或者,如果您可以访问它,只需修改 .Net 代码;-)
此外,正如 Arjan指出的,您可能还需要将文件从 UTF-8 转换为 ANSI,以防止单元格 A1 包含 BOM 及其周围的 qoutes。
我遇到了 ANSI 编码的 CSV 的 Catch 22 没有处理国际字符和 UTF 编码的 CSV 没有被 Excel 处理;并且在维护 CSV 时没有找到解决方案。如果需要国际字符支持,XML(或原生 XLS)格式似乎是唯一的方法——以简单为代价。
小智 13
这个问题多年来一直困扰着我。我刚刚发现了解决方案,上面的答案中提到了它,但没有明确说明。
是逗号后面的空格!
这不会导入到 excel 中;
HEADER1, HEADER2
"1,000", "2,000"
Run Code Online (Sandbox Code Playgroud)
尽管
HEADER1,HEADER2
"1,000","2,000"
Run Code Online (Sandbox Code Playgroud)
作品!
| 归档时间: |
|
| 查看次数: |
91073 次 |
| 最近记录: |