2017-08-08 35 views
0

這是我的代碼:的Python _csv.Error:行包含空字節

filepath = sys.argv[1] 

csvdata = list(csv.reader(open(filepath))) 

我怎樣才能解決呢?

我將我的excel文件保存爲csv並接受了此錯誤:「_csv.Error:未加引號的字段中顯示的換行符 - 是否需要以通用換行符模式打開文件?

+1

十億種方法,首先包括堆棧跟蹤和一些關於您的代碼的信息! –

+0

它可能不是一個有效的CSV文件。最好你必須過濾掉nul字節。 –

+0

是否空字節爲空?我正在使用一個excel文件。 – user8233898

回答

0
  1. Excel文件不是csv文件。首先導出/將文件另存爲csv。
  2. 關於是否以二進制或文本方式打開文件,python版本之間存在差異。這與如何處理新行有關。 在Python 2.x中,打開二進制:open(filepath, 'rb')

    在Python 3.x中,請勿:open('file.csv', 'r')

    第二部分我從this link about reading in csv files

  3. 對於某些操作系統學會(的Mac OS可以肯定的),你需要與模式「儒的見打開:this link with same problem specifically on Mac OS

+0

我仍然收到此錯誤:「_csv.Error:未加引號的字段中顯示的換行符 - 是否需要以通用換行符模式打開文件?」 – user8233898

+0

我想你將不得不提供更多的信息。 Python版本。 OS。示例文本顯示了問題(最好是幾行代碼重現問題,您嘗試了上面的哪些建議?他們是否更改了結果? – Basya

+0

我已經在這裏嘗試了這個(Linux,Python 2.7),帶有我的csv文件爲了理解這個問題,我們需要更多的信息 – Basya

0

試試這個(把csv文件的實際位置)......

with open('c:\pytest.csv', 'rb') as csvfile: 

    data = csv.reader(csvfile) 

    mylist = list (data) 

    print mylist 
+0

但是我需要將這個腳本用於一堆csv文件,所以我想讓它更通用 – user8233898

+0

這更像是一個如何讀取CSV文件的插圖。您可以接受任何有效CSV文件的標準輸入並應用相同的邏輯。 – Praful

+0

獲取此錯誤:「mylist = list(data) _csv.Error:在未加引號的字段中看到換行符 - 是否需要以通用換行符模式打開文件?」 – user8233898

0

從tkFileDialog進口askopenfilename
導入CSV

文件名= askopenfilename()
開放(文件名, 'RB')作爲csvfile:
數據= csv.reader(csvfile)
MYLIST =列表(數據)
打印mylist

相關問題