[英]How to apply function row by row, and save csv at each step (append)?
我正在使用以下脚本(Python 3)
更确切地说,我只想将每一行追加到现有文件中。
码:
with open('file.csv', 'a') as f:
df['newcolumn'] = df.apply(some_function, axis=1, result_type='expand')
df.to_csv(f, mode='a', header=f.tell()==0, encoding='utf-8', index=False)
这段代码的问题:显然,剧本不写一行一行到* .CSV,但只有当所有行计算创建完整的CSV。 对于脚本中的任何错误,这意味着它最终为零内容。
如何重新编写脚本以便在每个步骤中更新file.csv,并且在完成之前不会为空?
谢谢!
如果出现问题,您可以更改函数的代码以返回一些默认值或回退值,通过这样做,您可以通过一次调用将数据帧保存为csv。
def some_function(row):
try:
#return your results of processing
except:
#return a default, fallback or None if error occurred
但是这将保存所有行,如果您不希望可以使用某些条件过滤数据帧,则将其保存为csv。 类似的东西:
df[df['newcolumn'] != <Some Value>]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.