【发布时间】:2021-01-16 12:20:53
【问题描述】:
我想在我拥有的 Python 循环中添加另一个循环,但我无法提出解决方案,我是 Python 新手,所以我需要帮助才能让它工作。
下面是代码的作用:
1- 从第一个 CSV 文件开始,该文件从第一行读取(有一个给定的范围可供使用)。
2- 它使用数据来运行函数。延迟几秒钟后,它会转到下一行并执行相同的相同过程以使用给定范围内的所有行。
3- 延迟几秒钟后,它会转到下一个 CSV 文件,执行与上述相同的过程(每行之间的延迟),直到使用所有 CSV 文件。
问题是,当我第二次或更多次运行该文件时,它使用相同的行。
我想再给它添加一个循环,所以当我再次运行它时,它会遍历下一个没有使用的行。
假设给定的范围是:2 行,它应该是这样工作的。
1-第一次运行,应该读取所有CSV文件的第1行和第2行,使用数据来运行函数。
2-第二次运行,应该读取所有CSV文件的第3行和第4行,使用数据运行函数。等下次运行文件时。
如果我能帮助完成这项工作,我将不胜感激, 我前段时间发布了这个问题,但我没有得到任何可行的解决方案。所以我再试一次。
这是有效的代码:
from abc.zzz import xyz
path_id_map = [
{'path':'file1.csv', 'id': '12345678'},
{'path':'file2.csv', 'id': '44556677'}
{'path':'file3.csv', 'id': '33377799'}
{'path':'file4.csv', 'id': '66221144'}]
s_id = None
for pair in path_id_map:
with open(pair['path'], 'r') as f:
next(f) # skip first header line
for _ in range(1, 3):
line = next(f)
img_url, title_1, desc_1, link_1 = map(str.strip, line.split(';'))
zzz.func1(img_url=img_url, title_1=title_1, desc_1=desc_1,
link_1=link_1, B_id=B_id=pair['id'], s_id=s_id)
time.sleep(25)
CSV 文件内容如下所示:
img_url,desc_1 title_1,link_1
site.com/image22.jpg;someTitle;description1;site1.com
site.com/image32.jpg;someTitle;description2;site2.com
site.com/image44.jpg;someTitle;description3;site3.com
谢谢。
已编辑:
好的,我在发布的解决方案方面获得了一些帮助,但不幸的是,它不起作用,并且此人不想继续使用提供的代码来解决问题。
我又回来寻求帮助了。
【问题讨论】:
标签: python python-3.x nested-loops