2014-10-30 24 views
-1

我有如下數據的文件,它包含ALPH,整型,實無,字母數字閱讀文件爲str

AAKzAlazNghRnKk, gD6mLtXhOgIOqwb   ,-7,123456789, 
irLpFWqlPcTSoyz, 94QdguKLborVKE7  ,1,123456789, 
vtUQrAKPsWsNDQj,  a1h5UDsN1ATlKde  ,0,123456789, 
wIaWGDDykPvdYjm,19K1qSJUPP0wzIO ,7,123456789, 
zcWsfLYFJlOmISg,   Yj5QfJ2J39LvOCe  ,1,123456789, 
WggBwOjOjEEwaFr,kMfxDWDurNyF9j3  ,-3,123456789, 

當我嘗試從這個文件中讀取數據逐行它轉換成INT字符串,但我不希望出現這種情況,類型應該保持,因爲它是讀取文件後:

代碼:

with open(name,'r') as f: 
    letters = f.readline().split(',') 
    for l in letters: 
     if l.index() == 0: 
     print l, type(l) 

結果:

AAKzAlazNghRnKk <type 'str'> 
    gD6mLtXhOgIOqwb   <type 'str'> 
-7 <type 'str'> 
123456789 <type 'str'> 
+1

您是否嘗試過熊貓或numpy csv閱讀功能? – Soravux 2014-10-30 15:55:48

+0

從程序的角度來看「123456789」**是一個字符串。 – Basilevs 2014-10-30 15:55:53

+0

@Basilevs在寫入文件之前我正在檢查類型,然後它正在打印int – 2014-10-30 15:58:01

回答

0

的文件只是一串字符和空白的。以目前的格式,您的代碼無法知道您希望每個代碼是什麼。誰說-7不是一個字符串!

您必須定義它。這裏有一些代碼,我不知道這是否可行,我只是在大聲思考,表示歉意。

with open(name,'r') as f: 
    letters = f.readline().split(',') 
    for l in letters: 
     if l.index() == 0: 
     try: 
      print int(l), type(int(l)) 
     except: 
      print l, type(l)