2013-12-09 23 views
2

我正在使用csv.DictWriter輸出用於Excel的字典列表。縮小到只有一個鍵/值對,它看起來像這樣:在Excel中未正確解析csv.Dictwriter文本輸出

from csv import DictWriter 

results = [{'symbol': '00287Y10', 
      {'symbol': '03073E10'}, 
      {'symbol': '03783310'}] 

with open('results.csv','wb') as outfile: 
    ordered_fieldnames = ['symbol'] 
    writer = DictWriter(outfile, dialect='excel', fieldnames=ordered_fieldnames) 
    writer.writeheader() 
    writer.writerows(results) 

的問題是,Excel未解釋爲文本。全數字被轉換爲數字和E10結束符號被解析爲科學記數法:

symbol 
00287Y10 
    3.07E+13 
    3783310 

所以,我從其他職位的理解是,你不能從CSV庫中直接具體的數字在Excel格式,但是是否有任何解決方法,以便Excel將文本字段統一分析符號?我希望在不改變搜索目的字段值的情況下做到這一點。另請注意我已經嘗試過使用不同的分隔符和引用級別而不是excel方言,但是看到輸出沒有變化。謝謝!

+0

不,這是你需要在Excel中修復的東西。 CSV格式不符合該任務。 –

回答

2

您可以使用Excel的文本導入嚮導,方便於:

  1. (2007年起)數據標籤>獲取外部數據>從文本

  2. (前2007年)數據菜單>導入外部數據>導入數據

這使您可以在步驟3,指定類型的文件中的每個列,將此項設置爲文本而不是一般避免您的問題。

+0

你能否提供一些屏幕似乎沒有工作... –

+0

我究竟在哪裏做錯了http://imgur.com/RlaZEpS –

+0

這不是我所看到的。你的* .csv文件究竟是什麼?它似乎已經轉換爲工程符號。 – jonrsharpe