我正在使用python2.7并运行一个常规的抓取任务。我想用一个CSV来存储数据之间的擦伤。在
目前我正在从一个CSV文件中读取数据,逐行写入另一个CSV文件,然后删除并重命名这些文件:reader = pd.read_csv('temp1.csv')
reader.set_index('id', inplace=True)
writer = csv.DictWriter(open('temp2.csv', 'wb'), fieldnames=['id', 'links'])
writer.writeheader()
for i, row in reader.iterrows():
# Check if data is already in CSV, if not scrape it.
try:
links = df_links.ix[row['id']]['links']
except KeyError:
links = do_scrape(row['id'])
if links:
df.set_value(i, 'pubmed_links', links)
# Write data out to new CSV file.
writer.writerow({'id': row['id'], 'links': links})
os.remove('temp1.csv')
os.rename('temp2.csv', 'temp1.csv')
有更好的办法吗?具体地说,我是否可以直接将任何新数据添加到现有文件中,而不必创建和删除文件,并且可以安全地在网络中途中断时不会丢失一半文件?在
我只知道添加行,但我不知道如何添加新行。在
谢谢!在