[英]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.