【发布时间】:2013-05-05 10:34:16
【问题描述】:
背景:
我在 Asp.Net (C#) Web 应用程序中使用 CSV 进行数据交换格式。该文件通常用于批量上传请求。到目前为止,它运行良好,并且仍然有效。
然而,在研究文化的过程中,我们发现 csv 文件存在许多问题。最大的问题之一是分隔符由区域设置决定。当用户在 Excel 女士中编辑文件时会发生这种情况。例如,分隔符在美国是逗号,在欧洲某些地区是分号。
我已经搜索了一段时间,但没有找到任何灵丹妙药来处理这种情况。现在我想知道:
有什么好的方法来处理 CSV 文件中的分隔符定义吗?
-
有没有更好的数据交换格式,它是具有规范的不变文化:
- 文件是纯文本文件(不是像 ms excel xlsx 这样的编码文件)
- 这是不变的文化。我不是要处理小数点分隔符,但至少在分隔符处是不变的
- Ms Excel 等电子表格应用程序支持它
- (可选)可以被OleDb引擎读取
或者,如果有的话,是否有使用平面文件进行表格数据交换的好习惯?
更新:
到目前为止,这里是给定解决方案的优缺点总结。
-
CSV(通常也用于表示分隔的平面文件):
优点:
- Excel 和 OleDb 等许多处理器都支持
- 易于阅读
- 使用记事本轻松操作
缺点:
- 使用 ms excel 编辑时存在分隔符文化问题
- 需要转义或处理分隔符
-
XML:
优点:
- Excel 和 xml 序列化程序等许多处理器都支持
- 使用记事本轻松操作
- 表示结构格式
缺点:
- 在excel中处理时需要额外处理
- 使用标签在 xml 中产生更多内容
-
json:
优点:
- 表示结构格式
- 使用记事本轻松操作
缺点:
- Excel 等电子表格处理器本身不支持(需要确保)
【问题讨论】:
-
这是用于 C# 还是 Java?还是两者兼而有之?
-
这更多是为了处理数据类型。两者都受欢迎,但我希望有一个跨平台的解决方案。