首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >表格数据交换格式

表格数据交换格式
EN

Stack Overflow用户
提问于 2013-05-10 17:03:10
回答 4查看 481关注 0票数 1

背景:

我在Asp.Net (C#) web应用程序中使用了CSV作为数据交换格式。该文件通常用于对请求进行批量上载。到目前为止,它还能正常工作,而且仍然有效。

然而,在对文化的研究中,我们发现csv文件存在许多问题。最大的问题之一是分隔符是由区域设置来决定的。当用户在Ms Excel中编辑文件时会发生这种情况。例如,分隔符在US为逗号,在欧洲某些地区为分号。

我已经搜查了很长一段时间了,但我还没有找到任何处理这种案子的灵丹妙药。现在我想知道:

  1. 有什么好方法来处理CSV文件中的分隔符定义吗?
  2. 是否有更好的数据交换格式,它是具有规范的不变文化:
代码语言:javascript
复制
- The file is plain text (not encoded file like ms excel xlsx)
- It is invariant culture. I don't mean to handle decimal separator but at least invariant at delimiter
- It is supported in spreadsheet applications such as Ms Excel
- (optional) It can be read by OleDb engine

或者,如果有的话,是否有使用平面文件进行表格数据交换的良好做法?

更新:

到目前为止,这里总结了给出的解决方案的利弊。

  1. CSV (也通常用于表示分隔的平面文件): 优点:
代码语言:javascript
复制
- Supported by many processor such as Excel and OleDb
- Easy to read
- Easy to manipulate using notepad

缺点:

代码语言:javascript
复制
- Has delimiter culture problem when editing with ms excel
- Need to escape or handle delimiter characters

  1. Xml: 优点:
代码语言:javascript
复制
- Supported by many processor such as Excel and xml serializer
- Easy to manipulate using notepad
- Represent structural format

缺点:

代码语言:javascript
复制
- Need additional handling when being processed in excel
- Using tags resulting in more content inside the xml

  1. 杰森: 优点:
代码语言:javascript
复制
- Represent structural format
- Easy to manipulate using notepad

缺点:

代码语言:javascript
复制
- Not natively supported by spreadsheet processor such as excel (need to ensure)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-10 19:06:33

使用选项卡作为分隔符是一个简单的开关,似乎大多数库都支持读或写,并且使用Excel。

票数 2
EN

Stack Overflow用户

发布于 2013-05-10 17:06:54

对CSV的一个简单的替代可以是JSON --它是一个非常简单的格式,在不同的平台上都有很多支持。

与CSV有关的问题的主要好处在于它没有这些问题--它不依赖于文化。

它也有缺点,但这些都是与CSV共享的(例如,没有数据类型)。

票数 2
EN

Stack Overflow用户

发布于 2013-05-10 17:10:50

XML是一种比CSV更好的数据交换方法。

  1. 语法规则很清楚。XML标准是由在交换数据方面有丰富经验的国际委员会制定和商定的。CSV是一种由实践而非协议定义的临时交换格式。
  2. 字符集规则很清楚。Unicode及其各种编码也由国际委员会标准化。
  3. 从程序中释放XML非常简单,并且有大量的库可以帮助处理困难的内容,例如字符集。
  4. 读取XML也非常简单。有大量的库可以帮助解决这些棘手的问题。Microsoft和大多数商业数据库将读取和写入XML文件。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16487382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档