我有一个while循环,它工作得非常好(它做它应该做的)。当我运行while循环并让它将生成的数据帧写入.CSV时,它可以正常工作并保持循环(尽管覆盖了.CSV文件)
但是我试图弄清楚如何在每次循环运行时将df写入一个新文件(使用一个变量生成的名称)。我好像搞不明白。你知道吗
有人有什么建议吗?你知道吗
f = open('ActionLogLinks.csv')
csv_f = csv.reader(f)
action_log_links = []
for column in csv_f:
action_log_links.append(column[1])
cand_ref = []
for column in csv_f:
cand_ref.append(column[0])
position = 0
while position <len(action_log_links):
browser.get(action_log_links[position])
for cand in cand_ref:
filename="Loop_Test"+"_"+str(cand_ref)+".csv"
df.to_csv(filename, index=False)
position = position + 1
您可以使用以下代码创建并打开一个随机名称的新文件进行写入。你知道吗
您还可以使用时间戳路径,在这种情况下,请确保时间戳的精度足够好,以避免在循环的任何两个相邻迭代中生成相同的值。你知道吗
我使用的一种常见解决方案是在创建输出时向文件名添加时间戳。由于您对代码的其余部分非常满意,因此只需更新编写文件的部分,尽管可以将导入放在脚本的顶部。你知道吗
然而,仔细阅读后,我想也许你有一个问题,你是如何“循环”的iterable。您在循环内使用
cand_ref
,而不是在循环期间动态更新cand
请注意,我将字符串连接更改为使用较新的“f-string”格式:
相关问题 更多 >
编程相关推荐