在Redis中存储数据然后获取数据

我有一个包含四列的Excel文件。 我想获取这些数据并将其存储在MySQL中。 之后,我想从这里获取数据并存储在Redis中,然后对其执行validation。 我已经完成了从Excel导入数据到Python。

您必须将您的4列excel数据重塑为1列数据。 Matlab / GNU Octave的redis客户端是这样做的,例如: https : //github.com/markuman/go-redis/wiki/Data-Structure#arrays注意在这个例子中,Matlab / Octave正在使用Column-Major-订购。 Python正在使用Row-Major-Order: https : //en.wikipedia.org/wiki/Row-major_order

所以你必须把你的4列X行数据作为一个列表(RPUSH)保存在redis中的行 – 主要列表中。

给这个excel表

excel例子

使用这个python3代码

#!/usr/bin/python3 # -*- coding: utf-8 -*- """ Created on Tue Oct 20 23:02:53 2015 @author: markus """ import pandas as pd import redis # redis connection r = redis.StrictRedis(host='localhost', port=6379, db=0) # open the first worksheed df = pd.read_excel('/home/markus/excel.xlsx',0) # read in as a list # [[1, 'two', 'python'], ['excel', 'redis', 'action']] a = list(df.T.itertuples()) print("this is a, your excel list") print(a) for list in a: for value in list: r.rpush('myexceldata', str(value)) # read all back to python b = r.lrange('myexceldata', '0', '-1') print("A1 becomes 0, B1 becomes 3 ...") print(b[3].decode('UTF-8')) 

将其保存为redis中的列表

  127.0.0.1:6379> lrange myexceldata 0 -1 1) "1" 2) "two" 3) "python" 4) "excel" 5) "redis" 6) "action" 

这只是在redis中保存电子表格的一种方法。 它总是属于你的数据结构,你将如何处理它。