Kashan
Kashan

Reputation: 348

List Index out of range in 2D array above 0

I am converting JSON files into data frames by using 2D array. However, after reading files and placing them in array indices, on index one I get an error.

The code I am using to loop is:

 for i in range(2500):

     datadays[1].append(json.loads(day1.readline())) 

Error: list index out of range

Script code:

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()))

Upvotes: 0

Views: 40

Answers (1)

goodvibration
goodvibration

Reputation: 6206

As I wrote in a comment, you obviously need to change datadays=[[]] to datadays=[[],[],[]].

Alternatively, you could choose a slightly more Pythonic way:

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)]
]

And don't forget to close the files:

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

Upvotes: 1

Related Questions