i have written this code using this https://stackoverflow.com/a/48217112/14713550
i want to to append stockname
to the file.
whenver i print the data
only one element is printed.
all previous elements are vanished.
how to fix this?
import pickle
filename = 'blocklist2.pkl'
data = []
with open(filename, 'rb') as rfp:
data = pickle.load(rfp)
data.append(stock_name)
with open(filename, 'wb') as wfp:
pickle.dump(data, wfp)
with open(filename, 'rb') as rfp:
data = pickle.load(rfp)
print(data)
update
used csv module instead of pickle
@app.route('/', methods=["GET", "POST"])
def home():
if request.method == "POST":
stockname = request.form.get("stockname")
data = [stockname]
lis = []
lis.append(data)
#append data
file = open('blocklist.csv', 'a+', newline='')
with file:
write = csv.writer(file)
write.writerows(lis)
lis_to_render = []
with open('blocklist.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
lis_to_render.append(line[0])
return render_template('index.html',lis = lis_to_render)
lis_to_render = []
with open('blocklist.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
lis_to_render.append(line[0])