gpt4 book ai didi

python - 列表索引适用于 macOS 但不适用于 Windows?

转载 作者:行者123 更新时间:2023-12-03 11:07:37 33 4
gpt4 key购买 nike

所以,我在 macOS 上制作了一个脚本,并分发给了一些 friend 。

但是,我收到很多使用 Windows 的 friend 的提示,说脚本不适合他们。

果然,我在一个分区上安装了 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 列,并将其转换为列表。然后,我制作了另一个名为数据的列表,并将 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

它过滤空行。

关于python - 列表索引适用于 macOS 但不适用于 Windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61396790/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com