2013-07-04 83 views
0

我使用Spyder並訪問reddit API來獲取一些數據並將其寫入csv,當我打印出行時,一切正常,但然後csv文件沒有得到創建,我嘗試了很多東西,但似乎沒有任何工作,並且一段非常類似的代碼工作得很好,我得到了csv文件,所以我不知道問題是什麼。Python沒有創建和寫入csv

with open('finalplswork.csv', 'wb') as fl: 
    writr = csv.writer(fl) 
    for subid in idsss: 
     submission = r.get_submission(submission_id=subid) 
     created_utc=submission.created_utc 
     created_date_utc = datetime.fromtimestamp(created_utc) 
     data=(subid, created_utc, created_date_utc) 
     writr.writerow(data) 
+0

如何運行該文件?檢查此python文件所在的目錄,而不是從中運行它的目錄。 –

回答

2

您的CSV 是創建,但您使用的是相對路徑。

您必須打印os.getcwd()以瞭解其創建位置,或將當前工作目錄設置爲您希望文件顯示的位置。

最好用,而不是一個絕對的文件路徑:

with open('C:/full/path/to/your/documents/folder/finalplswork.csv', 'wb') as fl: 
+0

好理論。但是有一點需要注意:你知道它在哪裏創建:'os.getcwd()'。 :) –

+0

@JohnZwinck:當然,但我強烈懷疑CWD是在'C:\ Python27'中的某個地方,而不是探索丟失的CSV文件的最佳位置。 –

+0

更不用說在Windows上,除非您使用提示提示時,不能寫入主系統驅動器(即「C驅動器」)中的大多數目錄。 –

0

我把你的代碼放到一個自包含例如:

with open('finalplswork.csv', 'wb') as fl: 
    writr = csv.writer(fl) 
    for subid in range(3): 
     submission = 'foo' 
     created_utc = 130000 
     created_date_utc = 20130704 
     data=(subid, created_utc, created_date_utc) 
     writr.writerow(data) 

它工作正常:

$ cat finalplswork.csv 
0,130000,20130704 
1,130000,20130704 
2,130000,20130704 

所以你的問題不在你在這裏顯示的代碼中。

+0

是的,的確如此,我只是在終端上用python試過,而不是Spyder IDE,並且它工作正常,所以我想這是一個Spyder bug。我很快就會接受你的回答,或者我應該刪除這個問題? – d12n

+0

不要刪除你的問題,沒關係。我不確定這是一個Spyder錯誤 - 請參閱Martijn的答案! –