我的要求是读取目录中的所有文件,获取文件的长度和每个文件的字数,并将其作为一行存储在CSV文件中。
以下是我的Python代码。 #Iterating列表目录
for filename in os.listdir(passedArgument1):
#Opening each file in the directory
with open(passedArgument1+filename,"r",encoding="ISO-8859-1") as f:
actualWordCount = 0
# Getting the file Size
fileSize=os.path.getsize(passedArgument1+filename)
for line in f:
# Getting the word count
actualWordCount+=writeToExcelFile(line)
# Writing to a file
with open('output.csv', 'w') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow([actualWordCount,fileSize])
当我写入CSV文件时,它只写入一个最后一个文件的记录。我已经检查过writerows方法,但不确定它是如何工作的。在Python 3.x中实现我的要求时,我们非常感谢。
答案 0 :(得分:2)
您正在为每一行输出重新打开输出文件。只需打开一次。
答案 1 :(得分:1)
试试这个?
csvfile = open('output.csv', 'w')
# do your loop here and write/append to csvfile
csvfile.close()