2015-02-11 70 views
0

我處理一個CSV表從PDF轉換與Adobe的Acrobat Pro。由於某些原因,軟件每117行會產生一次循環錯誤。它「重複&連接數字」例如一排分裂浮點數與Python

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:添加了代碼,我想我可以識別錯誤的,因爲我每年有一行每小時有一行。任何索引大於365 * 24 = 8760的行都是錯誤的。但我現在看到這還不夠。可以循環數據幀,並且如果行(i)的行(i + 1) - 索引的索引大於1,則需要更正。但我是python的一個begginer ..我不知道如何寫這個,但這是一個不同的問題。

我使用Python版本2.7.8熊貓訴0.14.1

非常感謝!

+0

您必須將其視爲字符串。 – merlin2011 2015-02-11 00:38:44

+0

請[編輯]你的問題,包括你目前使用的代碼。感謝您提高問題的參考價值! – 2015-02-11 00:39:27

+2

第一個也是最重要的問題 - 你如何從有效數字中區分出這些數據? – 2015-02-11 00:56:40

回答

1

抓住每一個空間分隔成單詞列表作爲一個字符串。對於該列表中的每個項目,檢查單詞是否是偶數或奇數。如果連,用右半字替換單詞。如果奇怪(因爲'。'在右側)抓取右半部分四捨五入(例如,5個最右側的字符以9個字符爲單位)。在替換每個單詞時將轉換添加到float64。