CSV输出错误的顺序

Jam*_*ray 1 python csv

我正在将一些数据输出到CSV文件,但由于某种原因,该方法会交替输出数据的方式.下面的代码是用于将对象输出到CSV文件的方法.

@staticmethod
def OutputCSV(csv_file):
    posts = ApplicationModel.ApplicationModel.getTwitterObjects()
    csv_columns = ['post','sentiment']
    with open(csv_file, 'w') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(csv_columns)
        for TwitterObject.TwitterObject in posts:
            writer.writerow({
                TwitterObject.TwitterObject.post,
                TwitterObject.TwitterObject.sentiment
            })
Run Code Online (Sandbox Code Playgroud)

以下文本是输出的CSV文件中的示例.

post,sentiment

b'@Angel4Rubio @ehillm @Arsenal welcott been shit since he came to the league.',neg

pos,"b'Leicester closer to title, Arsenal held: Leicester City need just five points to complete a fairytale Premier ... '"

pos,"b'Leicester closer to title, Arsenal held: Leicester City need just five points to complete a fairytale Premier ... '"

pos,"b' @premierleague: ""I\'m slightly disappointed we didn\'t take all three points"" - Allardyce on #SUNARS\n\nMore:  '"

pos,"b'Leicester closer to title, Arsenal held: Leicester City need just five points to complete a fairytale Premier ... '"

b' @MesutOzil1088: best. team. \xf0\x9f\x92\xaa\xf0\x9f\x8f\xbc\xf0\x9f\x98\x8e\n#yagunnersya #BeTheDifference #AFCvLCFC #Arsenal #bigpoints ',pos

"b'Walcott, arteta, flamini, giroud and per to be sold. Bring in Hummells, Xhaka, Kante and Aubaumayang. #arsenal'",neg

pos,b' @FootieFansKnow: Amongst all the madness there is always Hector #Arsenal #Sunderland #Wenger #UCLDraw #Topfour  '
Run Code Online (Sandbox Code Playgroud)

小智 5

更改

writer.writerow({
            TwitterObject.TwitterObject.post,
            TwitterObject.TwitterObject.sentiment
        })
Run Code Online (Sandbox Code Playgroud)

writer.writerow([
            TwitterObject.TwitterObject.post,
            TwitterObject.TwitterObject.sentiment
        ])
Run Code Online (Sandbox Code Playgroud)

setdict键这样的元素是无序的.因此行为.您可以概况x in s为一大组s,并与比较x in l,在那里l = list(s).前者的查找是O(1),而后者是O(n).这是无序散列查找的优点之一.