我的父数据集在每行中包含1条推文。我正在清理推文并从推文中提取特征词并将其导出到csv。我能够导出除最后一行之外的所有行。我正在使用以下代码:
#Read the tweets one by one and process it
fp = open('C:/Twitter_crawl/tweetDB4_import.csv', 'r')
st = open('C:/Twitter_crawl/stopwords.txt', 'r')
stopWords = getStopWordList('C:/Twitter_crawl/stopwords.txt')
for line in fp.readlines():
a = csv.writer(open('feature_vector.csv', 'a'))
processedTweet = processTweet(line)
featureVector = getFeatureVector(processedTweet)
a.writerow(featureVector)
print (featureVector)
#end loop
fp.close()
有人可以帮我解决循环问题,以便最后一行也可以导出吗?
提前致谢!
答案 0 :(得分:0)
您需要关闭文件feature_vector.csv。实际上你每次都通过循环打开它,这很糟糕。在循环之前打开它一次并在之后关闭它。
也没有使用变量st。
答案 1 :(得分:0)
正如Paul Cornelius的回答 - 你的问题是你每次绕圈都要打开你的.csv文件,而不是关闭它。
使用with open('file', 'r') as openfile:
构造,使用st = open('C:/Twitter_crawl/stopwords.txt', 'r')
stopWords = getStopWordList('C:/Twitter_crawl/stopwords.txt')
with open('C:/Twitter_crawl/tweetDB4_import.csv', 'r') as fp:
with open('feature_vector.csv', 'a') as op:
a = csv.writer(op)
for line in fp.readlines():
processedTweet = processTweet(line)
featureVector = getFeatureVector(processedTweet)
a.writerow(featureVector)
print (featureVector)
#end loop
构造更安全,因为这会为您再次关闭文件,即使发生异常并且脚本提前终止。
这样的事情:
stopwords
我已经离开了window.onload
行,即使它们没有被使用....
答案 2 :(得分:0)
看起来您没有关闭目标文件。 也许你应该使用类似的东西:
with open('feature_vector.csv', 'a') as csvfile: