CSV Python:向空列添加值而不删除其他值

2024-09-28 20:49:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想向.csv文件中的现有列添加一些数据。为此,我使用csv.DictWriter()访问特定的列,但出于某种未知的原因(至少对我来说是:D),它会删除旧值,然后添加新值。 我的问题是,有什么问题??这是我代码的一部分,问题最有可能出现在哪里

    month = datetime.datetime.now().strftime("%B")
    day = datetime.datetime.now().strftime("%d")
    hour = datetime.datetime.now().strftime("%H")

    with open('{}_{}.csv'.format(month, day), 'w', encoding = 'utf-8', newline = '') as file:
        labels = ['city']   #creating labels for rows
        for hour in range(24 + 1):
            labels.append(str(hour))
 
        writer = csv.DictWriter(file, fieldnames = labels, extrasaction = 'ignore', delimiter = ';')
        writer.writeheader()   #displaying labels for rows

        for line in zip(city, temperature):
            writer.writerow({'city': line[0][0].text, '{}'.format(hour): line[1].text})
            #line[0][0].text, line[1].text are regular strings

city和temperature是数组,每个数组都包含一些从某些网站(使用library BeautifulSoup)获得的HTML代码,这些代码必须转换为常规字符串(.text)


Tags: csv代码textcityfordatetimelabelsline