列出在macOS上工作但在Windows上不工作的索引



所以,我在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用脚本生成了一个文件,脚本就会再次工作。

好的,我发现了问题。

在Windows上,它在.csv文件中写入额外的空行。这导致列表索引停止工作。

我用这段代码修复了它。

data = []
lines = [line for line in csv.reader(open('passandpy.csv','r'))]
for line in lines:
if line == []:
continue

它过滤空行。

相关内容

  • 没有找到相关文章

最新更新