列出 0 以上的二维数组中超出范围的索引



我正在使用 2D 数组将 JSON 文件转换为数据帧。但是,在读取文件并将它们放在数组索引中后,在索引一上出现错误。

我用来循环的代码是:

 for i in range(2500):
     datadays[1].append(json.loads(day1.readline())) 
Error: list index out of range

脚本代码:

from array import *
import pandas as pd 
import seaborn as sns
import matplotlib.pyplot as plt
import json
day1=open('day1','r')
day2=open('day2','r')
day3=open('day3','r')
datadays=[[]]
for i in range(1400):
 datadays[0].append(json.loads(day1.readline()))
for i in range(2500):
 datadays[1].append(json.loads(day2.readline()))
for i in range(1500):
 datadays[2].append(json.loads(day3.readline()))

正如我在评论中所写,您显然需要将datadays=[[]]更改为datadays=[[],[],[]]

或者,你可以选择一种稍微更Pythonic的方式:

datadays = [
    [json.loads(day1.readline()) for i in range(1400)],
    [json.loads(day2.readline()) for i in range(2500)],
    [json.loads(day3.readline()) for i in range(1500)]
]

并且不要忘记关闭文件:

day1.close()
day2.close()
day3.close()

最新更新