Python 无法将最后一行写入csv
我的父数据集每行包含一条tweet。我正在清理推文,从推文中提取特征词并将其导出到csv。除了最后一行外,我可以导出所有行。我正在使用以下代码:Python 无法将最后一行写入csv,python,csv,export,Python,Csv,Export,我的父数据集每行包含一条tweet。我正在清理推文,从推文中提取特征词并将其导出到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(
#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()
谁能帮我完成循环,这样最后一行也可以导出
提前谢谢 您需要关闭文件feature_vector.csv。实际上,每次通过循环都会打开它,这很糟糕。在循环之前打开一次,然后关闭一次
此外,变量st也没有使用。如Paul Cornelius的回答所示-您的问题是每次循环时都会打开.csv文件,但没有关闭它 对于文件操作,使用带有open('file','r')的
作为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
我已将
停止字
行保留在中,即使它们未被使用……看起来您没有关闭目标文件。
也许您应该使用以下内容:
with open('feature_vector.csv', 'a') as csvfile:
不关闭文件可能会导致许多其他行也无法写入。最后一个很容易被注意到。