繁体   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