因此,我在macOS上制作了一个脚本,并与一些朋友一起分发
然而,我收到了很多使用Windows的朋友的抱怨,说脚本不适合他们
果不其然,我在一个分区上安装了Windows并运行了我的脚本,但它不起作用
每个人都犯了同样的错误
data[k+1][16] = 0
IndexError: list assignment index out of range
下面是失败代码部分的示例
df = pd.read_csv("passandpy.csv", usecols=[16], skipinitialspace=True)
col16 = df['Failed Attempts'].tolist()
data = [line for line in csv.reader(open('passandpy.csv'))]
data[k+1][16] = 0
csv.writer(open('passandpy.csv', 'w')).writerows(data)
应该发生的是从csv文件中读取第16列,并将其转换为列表。然后,我制作另一个名为data的列表,并将csv中的所有行写入该列表。我编辑该列表中的一个值,然后将该列表保存回csv
还有一件事我应该提到的是,一旦这个脚本在Windows上运行,它将不再适用于macOS
一旦我删除了在Windows上创建的csv文件,并使用macOS脚本生成了一个csv文件,脚本就会再次工作
好吧,我发现了问题
在Windows上,它将额外的空行写入.csv文件。这导致列表索引停止工作
我用这段代码修复了它
< >过滤空白行。相关问题 更多 >
编程相关推荐