如何解决循环读取多个 csv 文件将无法完成
我正在尝试读取多个 csv 文件,这些文件有一列包含网站列表。该列没有标题。我正在尝试使用 whois 功能来提取网站的创建日期。我创建了一个循环来导入 csv 文件,创建一个新的 csv 文件,读取一行,拉出创建日期,将数字、网站和创建日期写入一个新的 csv 文件,关闭两个 csv 文件,然后重复过程。但是,我发现第一个 csv 文件完成后,它不会导入下一个文件,并且代码也不会完成运行。这是我的代码:
import whois
import csv
import os
import time
location = "directory"
old = 'filename_old'
new = 'filename_new'
for i in os.listdir(location):
if i.endswith(".csv"):
with open(location + i,"r") as CSVfile:
CSVfileReader = csv.reader(CSVfile,delimiter = ",")
CSV2file = open(location + new + i,"a")
count = 1
cont = True
try:
while cont:
for row in CSVfileReader:
key = row[0].rstrip()
for links in whois.whois(key).creation_date:
print(links)
CSVFileWriter = csv.writer(CSV2file)
CSVFileWriter.writerow([count,key,links])
print('count:',count)
count = count + 1
time.sleep(0.9)
except:
cont = False
print("done with csv")
CSVfile.close()
CSV2file.close()
else:
print("The End")
输出如下:
runfile('direc')
2019-05-24 01:14:11
count: 1
2019-05-23 20:14:11
count: 2
2009-06-05 17:24:02
count: 3
2009-06-05 10:21:19
count: 4
2006-04-10 21:07:52
count: 5
2006-04-10 16:07:52
count: 6
2019-02-19 22:00:45
count: 7
2019-02-19 17:00:45
count: 8
2001-10-11 23:01:30
count: 9
2001-10-11 18:01:30
count: 10
但它从不打印“done with csv”或“the end”。只有当我阻止它运行时,它才会打印出来。
解决方法
您的程序卡在 while cont:
循环中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。