将数据附加到CSV文件并删除列表括号?

e1xvtsh3  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(150)

我构建了一个Web抓取类,现在正尝试使用此方法将平均成本和其他值写入csv文件--

def avg_data_to_csv(self):
    avg_data = self.avg_data
    df = pd.DataFrame(avg_data, columns=['Location', 'Average Price', 'Average Price per SQFT'])
    csv = df.to_csv('AVG_DATA.csv', index=False)
    return csv

然后我写了另一个方法,每次运行程序时,将更新的平均值添加到同一个csv文件的新行中--

def add_to_avg_csv(self):
    new_data = self.avg_data
    with open('AVG_DATA.csv', 'a') as obj:
        writer_object = csv.DictWriter(obj, fieldnames=self.avg_data)
        writer_object.writerow(new_data)
        obj.close()

但是,当我测试这个的时候,我的csv文件看起来像这样-
csv file after two runs
我不知道如何添加没有列表括号的数据。当我向文件添加新数据时,我该如何删除列表括号呢?

kknvjkwl

kknvjkwl1#

由于您使用writerrow(),最简单的方法是让函数avg_data_to_csv()返回新数据记录的字符串,而不是一行 Dataframe 。
另一种方法是用Pandas打开“AVG_DATA.csv”,将avg_data_to_csv()的输出进行concat/append,然后将其保存为“AVG_DATA. csv”。

相关问题