我认为发布我的代码的略微修改版本会更容易(出于隐私原因而修改)。基本上我是基于csv文件中给出的信息创建目录结构。代码从将csv转换为2d列表开始。然后脚本搜索csv以查找相关信息,并逐行创建目录路径。要检查目录路径以查看它是否已存在,如果它不存在则应该创建它。唯一的问题是我用于pi和poc的循环给我一个错误" IndexError:列表赋值索引超出范围"而且我不确定为什么。
#We need to find what column in the 2D list these fields are listed in the header
x,y = index_containing_substring(data,"PiID")
pi = []
if x != None and y != None:
for i in range(len(data)):
pi[i] = data[i][y]
#removes header row
pi.pop(0)
else:
pi = None
print(' ')
print("No value for PI")
x,y = index_containing_substring(data,"RequesterID")
poc = []
if x != None and y != None:
for i in range(len(data)):
poc[i] = data[i][y]
#removes header row
poc.pop(0)
else:
poc = None
print(' ')
print("No value for point of contact")
答案 0 :(得分:2)
例如,在这里:
pi = []
if x != None and y != None:
for i in range(len(data)):
pi[i] = data[i][y]
您无法分配pi
。
解决此问题的一种方法是改为使用list.append()
:
pi = []
if x != None and y != None:
for i in range(len(data)):
pi.append(data[i][y])
相同的模式出现在代码中的其他几个位置。
答案 1 :(得分:0)
看起来这一行导致了问题
pi[i] = data[i][y]
而不是使用
pi.append(data[i][y])
有关详细信息,请参阅以下链接