我构建了一个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
我不知道如何添加没有列表括号的数据。当我向文件添加新数据时,我该如何删除列表括号呢?
1条答案
按热度按时间kknvjkwl1#
由于您使用writerrow(),最简单的方法是让函数avg_data_to_csv()返回新数据记录的字符串,而不是一行 Dataframe 。
另一种方法是用Pandas打开“AVG_DATA.csv”,将avg_data_to_csv()的输出进行concat/append,然后将其保存为“AVG_DATA. csv”。