用python将浮点数分成两半

时间:2015-02-11 00:33:18

标签: python split floating

我正在处理使用Adobe acrobat pro从pdf转换而来的csv表。由于某种原因,软件每117行创建一次重复错误。它“重复和连接数字”,例如一行

7307 1 87.1

转变为这种东西:

73077307 11 87187.1

我如何用python“纠正”这些行?我需要将浮子分开到中间并擦除上半部分。

我已经阅读了几个关于截断的线程,但是大多数线程需要按小数点分割浮点数或者只处理整数。数据类型是float64,因为我使用pandas read_csv函数来读取csv。

df = pd.read_csv('path/file.csv',sep=';',index_col='Rang', na_values=['NA'])
df.dropna(how="all", inplace=True) # drop empty rows (an additional issue)
df[(df.index >10000)]

EDIT1:代码添加了,我想我可以找出错误的代码,因为我一年中每小时有1行。索引大于365 * 24 = 8760的任何行都是错误的。但我现在看到这还不够。可以循环数据帧,如果行(i)的行(i + 1) - 索引的索引大于1则需要校正。但我是python中的一个初学者......我不知道该怎么写,但那是一个不同的问题。

我正在使用python版本2.7.8 pandas v.0.14.1

非常感谢!

1 个答案:

答案 0 :(得分:1)

将每个以空格分隔的单词作为字符串添加到列表中。对于该列表中的每个项目,检查单词len是偶数还是奇数。如果是偶数,用单词的右半部分替换单词。如果是奇数(因为右边的'。')右半边向上(例如,9个字符中的5个最右边的字符)。替换每个单词时,将转换添加到float64。