2012-05-01 27 views
0

嗨Im新的Python和Excel。我有一個大的數據集,需要將我列爲「* 10 ^」的每個數字轉換爲「E」;這樣1.345 * 10^5被轉換爲1.345E5。我想嘗試使用正則表達式,但不能讓我的替換fxn工作。使用Python替換Excel文件中的數字

+3

你有什麼試過?顯示你嘗試過的正則表達式,並解釋他們爲什麼失敗,然後有人可以幫助你調整它,而不僅僅是給你答案。 – Aurora

+1

另外:Excel會將* 10^K與EK(至少2010版)相同處理。如果您只是需要使用工程表示法來顯示數字,則可以標記數據並選擇顯示類型「Scientific」。 –

+0

你的意思是說你在Excel單元格中有'1.345 * 10^5'作爲TEXT值,而不是NUMBER值?或者你的「大數據集」不在Excel中? –

回答

0

在Python中使用Excel電子表格可能不是最好的主意。根據您要完成的工作,可能需要使用csvkit將數據轉換爲.csv文件。

這是一個基本的正則表達式,讓你開始:

import re 

data = '23*10^22, 12, 15.002, 12*10^98' 
print re.sub('\*10\^', 'E', data) 

# Returns 23E22, 12, 15.002, 12E98 

這將簡單地替換字符*10^E,它應該做的伎倆。