2015-07-01 22 views
1

因此,我正在嘗試創建一個Python腳本,它將對Excel工作表的指定列進行排序。到目前爲止,我的代碼是...代碼中需要的CSV問題和幫助

import csv 
import operator 

with open('case_name.csv') as infile: 
    data = list(csv.reader(infile, dialect=csv.excel_tab)) 

data.sort(key=operator.itemgetter(2)) 

with open('case_name_sorted.csv', 'w') as outfile: 
    writer = csv.writer(outfile, dialect='excel') 
    writer.writerows(data) 

然而,當我運行此代碼,我繼續得到一個錯誤,指出...

data = list(csv.reader(infile, dialect=csv.excel_tab)) 
_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode? 

我做了一些研究,並發現了的.csv文件在Mac上無法正常工作。那麼,我應該如何改變文件以保持它像Excel表一樣工作?此外,如果任何人有任何我可以排序列的指針,我會非常感激一些技巧。謝謝!

+0

你解決這個問題?如果沒有,你可以分享你用rU打開後發生的具體錯誤嗎? – Parker

回答

0

嘗試與模式

open('case_name.csv', mode='rU') 

比擬的打開文件:https://docs.python.org/2/library/functions.html#open

+0

我收到一個錯誤,說列表索引超出範圍 –

+0

,所以閱讀似乎工作。你有看看你的'數據'嗎?你知道錯誤發生時'data'的樣子嗎? –