![共享 CSV 数据最不容易出错的方法是什么?](https://linux22.com/image/1253913/%E5%85%B1%E4%BA%AB%20CSV%20%E6%95%B0%E6%8D%AE%E6%9C%80%E4%B8%8D%E5%AE%B9%E6%98%93%E5%87%BA%E9%94%99%E7%9A%84%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我的工作之一是将产品数据上传到公司商店。数据最初由我的主管从公司数据库中提取,然后她将其放入 Excel 电子表格中并导出为 CSV。然后我将 CSV 文件转换为商店软件所需的格式并上传。我通常使用我编写的简短 Java 程序和 OpenOffice Calc 进行调整。
在此过程中,产品编号有时会转换为日期。我注意到 OO Calc 有时会这样做,我想 Excel 也有一个类似的烦人功能。我在 Google 上搜索了很久,试图找到在 OO 中关闭它的方法,但找不到解决办法。即使我找到了,我的主管使用 Excel 也可能是罪魁祸首。通常,这些转换问题直到产品已经在电子商店上架时才会被注意到,我还没有机会追踪这个过程并找到问题的确切来源
处理 CSV 数据的最佳方法是什么,使得当它传递给不同的程序时,任何初始值都不会改变?
答案1
如果您可以让您的主管不使用 Excel,则直接导出为 CSV。
答案2
当您通过 Java 程序处理数字时,请尝试将其括在引号中。OO/Excel 更有可能将其视为文本,并且至少不会将其转换为某些错误的日期格式。
答案3
嗯,最好的方法可能是(在我看来)停止使用 excel 和 openoffice,全部用 java 完成。其次最好的方法是停止使用 openoffice,用 java 完成那部分。
但是,如果您确实想继续使用 excel 和/或 openoffice,您可以通过暂时将产品编号更改为绝对不像日期的内容来解决问题。例如,您可以用一些特殊字符串(自然不会出现在产品编号中)包围产品编号,然后在最终导出到 csv 之前将其删除。
答案4
在我看来,解决方案是确保数据字段的设置能够正确解释数据。例如,我选择了一个列并设置了它的“类型”,然后添加了数据。或者,在导入数据后更改格式。
编辑:我重读了你的问题。我认为你的问题的答案是首先确保数据电子表格本身的格式正确。
问候,