簡體   English   中英

python中的CSV文件創建錯誤

[英]CSV file creation error in python

將內容寫入python中的csv文件時出現錯誤

import sys  

reload(sys)  
sys.setdefaultencoding('utf8')
import csv
a = [['1/1/2013', '1/7/2013'], ['1/8/2013', '1/14/2013'], ['1/15/2013', '1/21/2013'], ['1/22/2013', '1/28/2013'], ['1/29/2013', '1/31/2013']]


f3 = open('test_'+str(a[0][0])+'_.csv', 'at')
writer = csv.writer(f3,delimiter = ',', lineterminator='\n',quoting=csv.QUOTE_ALL)
writer.writerow(a)

錯誤

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    f3 = open('test_'+str(a[0][0])+'_.csv', 'at')
IOError: [Errno 2] No such file or directory: 'test_1/1/2013_.csv'

如何解決它,錯誤是什么?

您有錯誤消息-只需閱讀即可。 文件test_1 / 1 / 2013_.csv不存在。

在您創建的文件名中-使用[0] [0],在這種情況下,結果為1/1/2013。 這兩個符號“ /”可能使您正在錯誤的目錄中尋找該文件。 檢查此文件在哪里(當前目錄-或.test_1 / 1目錄中。

可能是由於目錄不存在-如果不存在,Python會為您創建文件,但不會自動創建目錄。

要確保存在文件路徑,可以將os.makedirsos.path.dirname結合使用

file_name = 'test_'+str(a[0][0])+'_.csv'

# Get the directory the file resides in
directory = os.path.dirname(file_name)

# Create the directories
os.makedirs(directory)

# Open the file
f3 = open(file_name, 'at')

如果不希望使用目錄,則應將日期中的斜杠替換為其他斜杠( - )代替。

file_name = 'test_' + str(a[0][0]).replace('/', '-') + '_.csv'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM