如何检测用户的区域设置以获得正确的 csv 分隔符?

2023-11-23

我有一个简单的数据转换工具,它可以生成的输出之一是 csv 文件。

这在英国非常有效,但当我将其运送给德国客户时,我遇到了一些问题。具体来说,他们使用 ',' 表示浮点数中的小数点,反之亦然。这意味着当他们在 Excel 中打开数据文件时,结果至少可以说是相当混乱的:-)

替换正确的字符很简单,但我如何检测是否应用它?

Edit:

So this:

a,b,c
1.1,1.2,1.3
"1.1",1,2,"1,3"
"this,is,multi-
-line",this should be column 2, row 4
a;b;c
"a;b","c"

..在英国加载到 Excel 中时看起来像这样:

+----------------+-----+-----+-----+
| a              | b   | c   |     |
+----------------+-----+-----+-----+
| 1.1            | 1.2 | 1.3 |     |
+----------------+-----+-----+-----+
| 1.1            | 1   | 2   | 1,3 |
+----------------+-----+-----+-----+
| this,is,multi- |     |     |     |
| -line          | 2   | 4   |     |
+----------------+-----+-----+-----+
| a;b;c          |     |     |     |
+----------------+-----+-----+-----+
| a;b            | c   |     |     |
+----------------+-----+-----+-----+

..但是德国会发生什么?


Use:

System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator

写入 CSV:“列表分隔符”字符串应用作 CSV 中的分隔符(有关如何更改此变量的信息,请参阅下文)。另存为 CSV 时,更改“列表分隔符”的值也会反映在 Excel 中。

读取 CSV:确定 CSV 中的分隔符是另一回事,而且有点复杂。原则上,可以在一个系统中使用“,”作为 CSV 分隔符,并使用“;”甚至“*”或任何(“字符串”)作为另一个系统上的分隔符:本文提供了有关如何在读取跨系统 CSV 文件时检测 CSV 分隔符的一些见解:

http://www.codeproject.com/Articles/231582/Auto-detect-CSV-separator.

您还可以通过更改 Windows 中的“列表分隔符”值来对导出器执行一些测试,如下所示(每个 Windows 操作系统之间可能有所不同):

  • 打开区域和语言对话框。
  • 选择“格式”选项卡。
  • 点击“其他设置”
  • 编辑“列表分隔符”的值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测用户的区域设置以获得正确的 csv 分隔符? 的相关文章

随机推荐

  • 如何通过 Code First\JsonMediaTypeFormatter 使用 Microsoft ASP.NET Web API OData 中的 Delta

    有什么问题吗 我正在尝试在我的 ASP net Web api 应用程序中启用修补程序 我正在使用代码优先实体框架 我有以下方法头 我可以在其中设置断点并且它将命中 AcceptVerbs PATCH public async Task
  • 当属性名称包含 - (连字符)时如何访问对象属性[重复]

    这个问题在这里已经有答案了 我需要一个转义序列 或 php 的减号 该对象有一个名称 值对 其中名称恰好具有 2个词之间 我不能使用 标准转义序列 无论如何都没有记录 我可以将名称存储在 myvariable可以使用哪个 但出于好奇是否可以
  • 谁在驱动程序代码中调用“probe”函数?

    我试图理解thisomap2 panda 板的 mcspi 驱动程序代码 我不明白谁打电话probe函数以及调用链是什么this驱动代码 设备连接时如何通知驱动程序 探针函数由spi omap2 mcspi c保存在static struc
  • 查找数组中相同数字的最长出现次数

    使用 JavaScript 我试图找到一种方法来查找数组中相同数字 在本例中为 1 的最长出现次数 例如 这是一个示例数组 2 5 3 1 1 1 3 7 9 6 4 1 1 1 1 1 4 7 2 3 1 1 4 3 我想编写一个返回 5
  • 分配并创建新的字符串差异

    String s1 new String string String s2 new String string String s3 string String s4 string System out println s1 s2 FALSE
  • 有没有适用于 iOS 的 unrar 库?

    我想在我的 iPhone 应用程序中包含 unrar 文件选项 我已经尝试过了https github com ararog Unrar4iOS但这个库并不完整 有些功能尚未实现 例如 BOOL unrarFileTo NSString p
  • 反向代理背后的 HTTP/2

    到目前为止 所有教程都告诉我 我需要在服务器上启用 SSL 才能支持 HTTP 2 在给定的场景中 我们在后端 Tomcat Jetty 服务器前面有 nginx 尽管从性能角度考虑值得在后端启用 HTTP 2 但在那里也拥有 HTTPS
  • HTTP GET 和 POST 参数建议

    发出以下 POST 请求是否是不好的做法 test a 1 b 2 POST data c 3 d 4 请注意 2 个参数是 URL 的一部分 2 个参数是 POST 内容的一部分 另一方面 仍然建议遵循以下规则 GET 请求 从中检索内容
  • Tensorflow:对小批量中的每个样本使用不同过滤器进行卷积

    我想要一个带有过滤器的二维卷积 该过滤器取决于张量流中小批量中的样本 有什么想法可以做到这一点 特别是在每个小批量的样本数量未知的情况下 具体来说 我有输入数据inp形式的MB x H x W x Channels 我有过滤器F形式的MB
  • 是否可以从 C# 中调用用户定义(自定义)R 函数?

    是否可以从 C 中调用用户定义 自定义 R 函数 例如 用 R 编写的简单矩阵乘法函数 matrix mult function a b c a b return c 我怎样才能从c 调用这个R函数matrix mult a b 经过一番研
  • 将浮雕添加到navigationItem.titleView中的UILabel(如navigationItem.title所示)

    我试图模仿自动应用于 navigationItem title 以及许多其他 UIKit 控件的默认浮雕 如该屏幕截图的标题 表格单元格 所示 source quicksnapper com 我本质上是想向 navigationItem t
  • HttpContext 和 SignalR HubCallerContext 之间的统一静态类

    我有很多依赖于 HttpContext Current 的代码 我注意到来自 SignalR 集线器的请求HttpContext Current null 所以我的代码中断了 例如 HttpContext Current Request I
  • 为远程托管的 SQL Server 定义连接字符串

    目前我有以下内容
  • C# 将一个目录与另一个目录合并

    我有一个自动更新程序 C 程序 它将下载一个 rar 文件 其中包含用于更新某些软件的更改或新文件 rar 文件的结构与软件的基本目录类似 但仅包含已更改或新的文件 文件夹 有没有一种简单的方法可以将这些文件 文件夹 合并 到目标目录 这样
  • CruiseControl.NET 电子邮件发布者问题

    我想将 ccnet 设置为 每次构建后向提交者发送邮件 无论状态如何 当构建中断或修复时 向所有其他开发人员发送邮件 随着 CCNet 的每个新版本 电子邮件发布者都会被重构 并且据说有所改进 但我仍然遇到同样的问题 只有提交者会收到通知
  • 投影 topojson 的方法?

    给定一个形状文件 自然地球 ne 10m admin 0 sovereignty zip 鉴于我们想要将其重新投影为 D3js 数据可视化 我们可以在不同级别重新投影 1 获取重新投影的形状文件 1 使用ogr2ogr ogr2ogr f
  • dockerize 一个 wpf 应用程序并使用它

    我正在尝试对 wpf 应用程序进行 dockerize 当时只是一个简单的应用程序 现在我得到了这个 dockerfile FROM microsoft nanoserver WORKDIR C run PATH ENTRYPOINT C
  • 如何在WinForms中制作ownerdraw Trackbar

    我正在尝试制作一个带有滑块拇指自定义图形的轨迹栏 我从以下代码开始 namespace testapp partial class MyTrackBar System Windows Forms TrackBar public MyTrac
  • PHP 确定多个(n)日期时间范围何时相互重叠

    我正在努力解决以下问题 这是一个日历程序 给定多个人的一组可用日期时间集 我需要找出每个人在 PHP 中可用的日期时间范围 可用性集 p1 start 2016 04 30 12 00 end 2016 05 01 03 00 p2 sta
  • 如何检测用户的区域设置以获得正确的 csv 分隔符?

    我有一个简单的数据转换工具 它可以生成的输出之一是 csv 文件 这在英国非常有效 但当我将其运送给德国客户时 我遇到了一些问题 具体来说 他们使用 表示浮点数中的小数点 反之亦然 这意味着当他们在 Excel 中打开数据文件时 结果至少可