2012-05-15 162 views
1

我創建從一個Python腳本的CSV文件與該行:直到我打開與Excel文件,因爲它打開了一列的全部文本CSV文件創建問題

def createFile(): 
    logfile = csv.writer(open('logfile.csv', 'wb'), dialect='excel') 
    formater = zip(dates, hours, threadids, loglevels, errorcodes, errormessage) 
    for i in formater: 
     logfile.writerow(i) 

,一切工作正常。這是從CSV一行的樣子:

4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 

有什麼辦法打開列分裂就應該是這樣的文件? 此致敬禮。

回答

2

我在foo.csv中保存了以下內容,並在Excel中打開。

4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 

enter image description here

你可能要檢查,如果你有使用以下的一個在您的區域設置配置正確的列表分隔符:

  1. Windows開始按鈕>控制面板>區域和語言選項>區域選項>自定義>列表分隔符。
  2. Windows開始按鈕>控制面板>區域和語言選項>格式>其他設置>列表分隔符。

請注意,您也可以啓動「區域和語言選項」使用命令intl.cpl,即按Windows + R鍵,輸入intl.cpl,然後按「確定」按鈕。

enter image description here

+0

我試着手動創建一個文件,它也不起作用。您的Excel是否創建了自定義設置?我的意思是,如果默認情況下它將逗號作爲分隔符。順便說一句...我使用Excel 2010,也許它是不同的。 – Nucklear

+0

我使用的是Microsoft Office Excel 2003以及Microsoft Office Excel 2007.截圖來自前者。不,它們不是自定義設置。您使用的是哪個版本的Microsoft Windows? –

+0

@Nucklear我編輯了我的回覆,告訴您如何爲您的系統找到列表分隔符設置。 –

2

爲了讓Excel將自動解析您的.csv和它拆分成多列沒有你要麼做,或者問你的分隔符將需要匹配您的區域設置分隔符,你可以

Control Panel -> Region & Language -> Additional Settings -> List Seperator下找到

而且這需要與Excel的.CSV文件中使用的列分隔符匹配,才能正確打開和拆分列。

+0

謝謝,它的工作。問題在於西班牙語lang使用;作爲分隔符。 – Nucklear

0

您的CSV的第一行應該是:

sep=, 

這種方式你說的到Excel通過劃定內容「」自動。