【问题标题】:Handle "Enter" characters from a .csv file处理 .csv 文件中的“输入”字符
【发布时间】:2015-10-07 19:30:09
【问题描述】:

我有一个从系统中提取的文件,其格式我无法控制。它是 CSV (UTF-8) 并且有一列包含回车符(我不确定它们到底是什么,但它们最初是从 Excel 文件上传的,信息在同一列中,但使用 CTRL+ENTER 进行更改列中的行)。

Excel 会解释它们并更改行,因此它会创建一个不适合标题的新行,并且当文件再次保存为 .csv 文件时无法正确处理。文本在文本分隔符" 内,所以我猜应该有一种方法可以指定此分隔符内文本的处理方式。

我知道可能没有简单的方法可以做到这一点,但是有一些 VBA 代码可以用来处理这个吗?

以下是保存为 csv 时的示例:

HEADER、GoalLibraryEntry、GUID、PARENT_GUID、LOCALE 名称等

ADD, GoalLibraryEntry, 710103, 710100, en_US, "测试:,,,,,,,,

a) 测试1,,,,,,,,,,,
b) 测试2,,,,,,,,,,,,
c) 布拉布拉,,,,,,,,,,,
d) Blablabla,,,,,,,,,,
e) 测试5",,,,,,,,,,,

我的问题和这个很相似:Generating CSV file for Excel, how to have a newline inside a value

但是,我尝试在 ANSI 中保存,然后在 Excel 中打开它,但没有成功。我也尝试在开始时添加 UTF-8 BOM,但 Excel 似乎没有以任何方式解释它。

【问题讨论】:

  • 如何处理它们?你想如何处理它们?请记住,我看不到您的工作表或您的意思,“它会创建一个不适合标题的新行。”
  • 创建新行是什么意思?你的意思是它为回车后的数据创建一个新行吗?你能发布一个它正在做什么的例子。你需要它做什么?
  • 对不起,我只需要在一行中,这样它就可以正确地导入到系统中。我所说的“不适合标题”的意思是现在创建了空列以适应 csv 文件中的列数。

标签: excel csv


【解决方案1】:

您最有可能看到的是当用户在键盘上按 alt-enter 键时生成的多行单元格。

您正在寻找的函数是干净的(例如),您可以在 VBA 中使用它。

=clean(a1)

这会从单元格中删除不可打印的字符。

【讨论】:

  • 我已经阅读了有关该功能的信息,但我不需要删除字符,我需要它们留在那里但不创建新行。然后该文件在系统中重新导入,并且必须包含此信息以用于系统中的显示目的。
  • 您可能没有告诉我们一些事情。 csv 是什么样的?我已经导出了一个带有单元格换行符的文件,它看起来像“foo^Mbar”,它可以正常导入,并且仍然显示单元格换行符。
  • 它看起来有点像这样:第 1 行 - Header1、Header2、Header3、Header4。第 2 行 - Content1、Content2、Content3:第 3 行 - Content3 连续性第 4 行 - 再次 Content3、Content4
猜你喜欢
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
  • 2016-03-07
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
相关资源
最近更新 更多