2012-11-12 76 views
0

我有一些製表符分隔的文本文件,它們以幾種不同的方式格式化,我使用Python將它們導出到Excel中。大部分線路的結束與格式如下細胞:使用Python導出製表符分隔的文本文件

'TEMP1', '\r\n' 

但其中極少數的格式應該是這個:

'TEMP1\r\n' 

Python是沒有得到了在第二種方式格式化的條目。任何方式在這個?這裏是我的代碼:

for line in current_file: 
     try: 
      a = line.split("\t") 
      for col in range (1, len(a)): 
       xlSheet.Cells(output_row, col).Value = a[col - 1] 
      output_row += 1 
     except ValueError: 
      pass 
+1

製表符分隔文本文件應使用'csv.reader讀取(F,分隔符=「\ t」的)'。 – katrielalex

+0

'range(1,5)'產生'[1,2,3,4]'。注意錯誤的錯誤。 –

+0

這些操作都不會產生一個'ValueError',所以你可能會失去異常處理。 –

回答

2

因爲它好像你正在使用len(a)的方式來引用的列數,我會建議使用enumerate,返回該項目的索引。你目前的問題是,你不包括你的範圍內的最後一個項目,這在最後一個項目是換行符的情況下是很好的。有一兩件事你可以嘗試被剝離的每一行,這將消除新行:

for col_num, col_val in enumerate(a): 
    if col_val.strip(): 
     xlSheet.Cells(output_row, col_num + 1).Value = col_val.strip() 
+0

謝謝,這樣做! – Ben

+0

@Ben沒問題,開心幫忙! – RocketDonkey

相關問題