修复损坏的表格数据

时间:2014-04-24 18:48:05

标签: algorithm csv rounding-error

我有一个包含64位整数列的csv文件,其中一些由于浮点精度问题而被截断。

这是一个例子

id                       name
-----------------------------
387028281378205 'GSS Glasgow'
387028281378205 'GSS Glasgow'
387028281378205 'GSS Glasgow'
387028281378205 'GSS Glasgow'
387028281378205 'GSS Glasgow'
387028281378205 'GSS Glasgow'
387028000000000 'GSS Glasgow'
387028000000000 'GSS Glasgow'

前6位数始终是正确的,但有时余数为零。

对于正确和不正确的ID,第二列始终相同。

我不能保证在错误的id之前解析正确的id,所以我很难想出如何解决这个问题。我真的很感激一些想法。

有6000行,有600个不同的'名字'。我可以用python,perl,php编程,我只需要找出一个防弹方法。

1 个答案:

答案 0 :(得分:1)

  1. 将所有行读入列表。
  2. name
  3. 对列表进行分组
  4. 在每个群组中查找正确的id并修复该群组中所有已损坏的id
  5. 保存列表。