【问题标题】:Strange line break character appearing in C# generated CSVC# 生成的 CSV 中出现奇怪的换行符
【发布时间】:2012-03-03 16:35:24
【问题描述】:

我使用 OleDb 数据读取器读取许多记录,然后将它们写入 CSV。然后我使用File.ReadAllLines 从这个 CSV 中读取数据,然后用逗号分隔以获取我的数据。问题是 CSV 的某些部分包含一个我无法显示的字符(显示为正方形),它似乎充当换行符 - 这个换行符会破坏 CSV,所以我需要摆脱它。

在编写 CSV 文件时,我尝试将 Environment.NewLine 替换为其他内容(空格),并使用 /r/n 进行替换,但无济于事 - 字符未被替换。还有什么其他方法可以去除这些?

【问题讨论】:

  • 最好利用已经开发的解析器库来处理编码差异和带有分隔符的边缘情况,而不是在代码中解析 CSV。你会发现这个问题很有用:Are there any CSV readers/writer libraries in C#?
  • 发布该字符的详细信息,以及输入/输出的相关代码。

标签: c#


【解决方案1】:

不要以这种方式编写 CSV 文件...因为它不适用于所有场景。

使用 OLD DB 为您完成。

http://devlicio.us/blogs/sergio_pereira/archive/2008/09/17/tip-export-to-csv-using-ado-net.aspx

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    然后我使用 File.ReadAllLines 从这个 CSV 中读取数据,然后用逗号分隔以获取我的数据。

    Stop rolling your own CSV parser.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多