簡體   English   中英

Python-將數據從csv寫入新的csv但行被覆蓋

[英]Python - writing data from a csv to new csv but row overwriten

我在csv中有數千條Twitter推文,每行一條推文(每條推文之間有空白行)。 每行的每一列都包含推文的不同部分(例如時間,文本,語言,位置等),但每一列都不具有相同的信息(即:有時,語言出現在AG或AH列或其他某個列中)。 我正在嘗試通過創建僅包含英文推文的新CSV來清理數據,並從每個(英文)推文中過濾出標點符號。

我目前停留在如何只過濾英文推文上。 這是我到目前為止的內容:

import csv


f = open('twitDB.csv')
csv_f = csv.reader(f)   # csv_f is a list of lists

for row in csv_f:
    for col in row:
        if col == 'lang:"en"':
            with open('cleaned.csv', 'w') as fp:
                wr = csv.writer(fp, delimiter = ',')
                wr.writerow(row)
                wr.writerow('\n')

新的cleaned.csv僅包含其行1中的最后一個英文tweet(數千個)。我感覺我的代碼不斷覆蓋cleaned.csv的第一行,而不是將每條tweet寫入下一行,但是不確定如何解決此問題。

您需要使用open('cleaned.csv', 'a') ,每次都會append 'a' 。. 'w'將每次打開並覆蓋其中的內容。這就是為什么只看到1行的原因。 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM