利用python读取redis数据,依据逗号做分割符,每十一个数据一行转换为csv,csv首行为自定义的列标题,首列记录当前行号,删除数据的中括号并重新加上
时间: 2024-02-18 16:00:05 浏览: 72
Python Redis连接 存取数据 示例代码
可以使用 Python 的 redis 模块来连接 Redis 数据库,使用 csv 模块来写入 CSV 文件。下面是一个示例代码:
```python
import redis
import csv
# 连接 Redis 数据库
r = redis.Redis(host='localhost', port=6379, db=0)
# 获取所有数据
data = r.lrange('mylist', 0, -1)
# 定义 CSV 文件名和列标题
filename = 'output.csv'
headers = ['Line', 'Data1', 'Data2', 'Data3', 'Data4', 'Data5', 'Data6', 'Data7', 'Data8', 'Data9', 'Data10']
# 打开 CSV 文件并写入列标题
with open(filename, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(headers)
# 遍历数据并转换为 CSV 格式写入文件
for i, d in enumerate(data):
# 去除数据中的方括号并按逗号分割
row_data = d.decode('utf-8').strip('[]').split(',')
# 每十一个数据一行
if i % 10 == 0:
row = [i] + row_data
writer.writerow(row)
else:
row = [''] + row_data
writer.writerow(row)
```
这段代码将 Redis 中名为 "mylist" 的列表的所有数据读取出来,按照要求转换为 CSV 格式并写入到 "output.csv" 文件中。其中,每十一个数据一行,首列记录当前行号,数据中的方括号被去除并重新添加。您可以根据需要修改列标题、CSV 文件名和 Redis 连接参数。
阅读全文