我有一个包含四列的Excel文件。我想获取这些数据并将其存储在MySQL中。稍后我想从这里获取数据并存储在Redis中,然后对其进行验证。我已经完成了从Excel到Python的数据导入。
答案 0 :(得分:2)
您必须将4列Excel数据重新整形为1列数据。 Matlab / GNU Octave的redis客户端正在这样做,例如:https://github.com/markuman/go-redis/wiki/Data-Structure#arrays 请注意,在此示例中,Matlab / Octave使用Column-Major-Order。 Python正在使用Row-Major-Order:https://en.wikipedia.org/wiki/Row-major_order
因此,您必须将redis中的4列X行数据保存为行主要顺序列表作为列表(RPUSH)。
给出这个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格式保存电子表格的一种方法。它始终属于您的数据结构以及您将要使用它做什么。