Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用Python将数据集保存在CSV文件中_Python_Csv_Save_Dataset - Fatal编程技术网

Can';t使用Python将数据集保存在CSV文件中

Can';t使用Python将数据集保存在CSV文件中,python,csv,save,dataset,Python,Csv,Save,Dataset,我有一个CSV文件中的数据集。我想在一个新的csv文件中保存此csv文件的一些列及其行的情绪分数。不幸的是,当我尝试这样做时,唯一的输出是在控制台上,而新文件不包含任何内容。有人知道为什么会这样吗 with open('semevalSenti80.csv', 'wb' ) as fileOutput: writer = csv.writer(fileOutput) inpTweets = csv.reader(open('semeval80.csv', 'rb'), deli

我有一个CSV文件中的数据集。我想在一个新的csv文件中保存此csv文件的一些列及其行的情绪分数。不幸的是,当我尝试这样做时,唯一的输出是在控制台上,而新文件不包含任何内容。有人知道为什么会这样吗

with  open('semevalSenti80.csv', 'wb' ) as fileOutput:
    writer = csv.writer(fileOutput)
    inpTweets = csv.reader(open('semeval80.csv', 'rb'), delimiter='"', quotechar='|')
    stopWords = getStopWordList('stopwords.txt')
    featureList = []
    tweetsTrain = []

    for row in inpTweets:
        if len(row) != 0:
            score = 0
            tweet = row[1]
            processedTweet = processTweet(tweet)
            featureVector = getFeatureVector(processedTweet, stopWords)
            featureList.extend(featureVector)
            for ft in featureVector:
                score = score + get_scores("SentiWordNet_3.0.0_20130122.txt", ft)
                print score, row
                writer.writerow([row[1], score])
                if score > 0:
                    tweetsTrain.append((featureVector, "positive"))
                elif score < 0:
                    tweetsTrain.append((featureVector, "negative"))
                else:
                    tweetsTrain.append((featureVector, "neutral"))
以open('semevalSenti80.csv','wb')作为文件输出的
:
writer=csv.writer(文件输出)
inpTweets=csv.reader(open('semeval80.csv','rb'),分隔符=''”,引号='|')
stopWords=getStopWordList('stopWords.txt')
功能列表=[]
tweetsTrain=[]
对于inpTweets中的行:
如果len(row)!=0:
分数=0
tweet=行[1]
processedTweet=processTweet(tweet)
featureVector=getFeatureVector(ProcessedWeet,stopWords)
featureList.extend(featureVector)
对于特征向量中的ft:
分数=分数+获取分数(“SentiWordNet_3.0.0_20130122.txt”,ft)
打印分数,行
writer.writerow([行[1],分数])
如果得分>0:
追加((featureVector,“正值”))
elif评分<0:
追加((featureVector,“负数”))
其他:
append((featureVector,“neutral”))

只需将较大的任务分成较简单的部分。最后两行使用较小的部分组成处理管道来完成较大的任务。有改进的余地,但这会让您产生想法

import csv

stopWords = getStopWordList('stopwords.txt')

def get_tweets(csv_file):
    "return list of tweet items"
    with open(csv_file, 'rb') as f:
        tweets = csv.reader(f, delimiter='"', quotechar='|')
        return tweets

def process_score(tweet):
    "compute score for given tweet text"
    score = 0
    processedTweet = processTweet(tweet)
    featureVector = getFeatureVector(processedTweet, stopWords)
    for feature in featureVector:
        score = score + get_scores("SentiWordNet_3.0.0_20130122.txt", feature)                

    return score

def save_scores(csv_file, tweet_scores):
    "save given iterable to csv file"
    with open(csv_file, 'wb' ) as f:
        writer = csv.writer(f)
        writer.writerows(tweet_scores)


tweet_scores = [(tweet[1],process_score(tweet[1])) for tweet in get_tweets('semeval80.csv')]
save_scores('semevalSenti80.csv', tweet_scores)

只需将较大的任务拆分为较简单的部分。最后两行使用较小的部分组成处理管道来完成较大的任务。有改进的余地,但这会让您产生想法

import csv

stopWords = getStopWordList('stopwords.txt')

def get_tweets(csv_file):
    "return list of tweet items"
    with open(csv_file, 'rb') as f:
        tweets = csv.reader(f, delimiter='"', quotechar='|')
        return tweets

def process_score(tweet):
    "compute score for given tweet text"
    score = 0
    processedTweet = processTweet(tweet)
    featureVector = getFeatureVector(processedTweet, stopWords)
    for feature in featureVector:
        score = score + get_scores("SentiWordNet_3.0.0_20130122.txt", feature)                

    return score

def save_scores(csv_file, tweet_scores):
    "save given iterable to csv file"
    with open(csv_file, 'wb' ) as f:
        writer = csv.writer(f)
        writer.writerows(tweet_scores)


tweet_scores = [(tweet[1],process_score(tweet[1])) for tweet in get_tweets('semeval80.csv')]
save_scores('semevalSenti80.csv', tweet_scores)

您正在打开
fileIntro.csv
两次。首先,您不应该捕获所有内容,只需执行
continue
。显然,您的代码总是引发异常。在
之后放置一个断点,除了
,或者打印错误消息。@toti08我删除
打开的('fileIntro.csv',r')作为fileIntro,
但它仍然happens@Mathias这与错误有关还是只与良好的方法有关?@Mathias此代码并不总是引发异常,因为它会在控制台推文中打印推文及其分数,但不会将其保存在csv中。您要打开
fileIntro.csv
两次。首先,您不应该捕获所有内容,只需o a
继续
。显然,您的代码总是引发异常。在
之后放置一个断点,除了
,或者打印错误消息。@toti08 i删除打开的
('fileIntro.csv','r')作为fileIntro,
但它仍然happens@Mathias这与错误有关还是只与好的方法有关?@Mathias这段代码并不总是抛出异常,因为它会在控制台tweets及其分数中打印,但不会将其保存在csv中