将带有 商店idr 商品信息的json导入到mongodb后,能不能根据商店id把所有商品全部提取并转为电子表格

当您已经将包含商店ID(如realMallId)的商品信息导入MongoDB后,确实可以轻松地根据商店ID提取所有相关商品信息并转换为电子表格(例如Excel)。这里是一个简化的流程,使用Python的pymongo库来查询MongoDB,并使用pandas库将查询结果转换为电子表格:

步骤 1: 安装必要的Python库

确保已安装pymongo和pandas库。如果未安装,可以通过pip安装:

复制代码
pip install pymongo pandas openpyxl

步骤 2: 编写脚本提取并导出数据

复制代码
import pandas as pd
from pymongo import MongoClient

# MongoDB连接设置
MONGO_URI = "mongodb://localhost:27017/"
DATABASE_NAME = "YourDatabaseName"
COLLECTION_NAME = "YourCollectionName"  # 假设商品信息存放在此集合中

# 目标商店ID
TARGET_MALL_ID = 823190385

def fetch_goods_by_mall_id(mongo_uri, db_name, collection_name, target_mall_id):
    # 连接到MongoDB
    client = MongoClient(mongo_uri)
    db = client[db_name]
    collection = db[collection_name]

    # 查询指定商店ID的所有商品
    query = {"realMallId": target_mall_id}
    goods = list(collection.find(query))

    # 关闭MongoDB连接
    client.close()

    return goods

def goods_to_dataframe(goods_list):
    """Convert list of goods to DataFrame."""
    # 确保所有商品数据结构一致,以便转换为DataFrame
    df = pd.DataFrame(goods_list)
    return df

def export_to_excel(df, filename="goods_list.xlsx"):
    """Export DataFrame to Excel."""
    df.to_excel(filename, index=False)
    print(f"Data exported to {filename}")

if __name__ == "__main__":
    # 获取指定商店ID的商品信息
    goods_data = fetch_goods_by_mall_id(MONGO_URI, DATABASE_NAME, COLLECTION_NAME, TARGET_MALL_ID)

    # 转换为DataFrame
    goods_df = goods_to_dataframe(goods_data)

    # 导出至Excel
    export_to_excel(goods_df)

这段脚本首先连接到MongoDB数据库,根据指定的realMallId查询商品信息,然后将查询结果转换为Pandas DataFrame,最后将DataFrame导出为Excel文件。请根据实际情况替换MONGO_URI、DATABASE_NAME、COLLECTION_NAME以及TARGET_MALL_ID的值。

相关推荐
weixin_45858012几秒前
CSS如何让flex布局支持老版本浏览器_添加-webkit-前缀与兼容性写法
jvm·数据库·python
Shorasul5 分钟前
CSS viewport单位在旧移动端支持不佳_利用固定像素值与rem配合
jvm·数据库·python
下地种菜小叶6 分钟前
定时任务系统怎么设计?一次讲清任务注册、分布式调度、幂等执行与失败补偿
java·开发语言·数据库·oracle·rabbitmq
z4424753267 分钟前
CSS如何实现响应式布局_使用Flexbox与Grid提升适配效率
jvm·数据库·python
Absurd58715 分钟前
优化文本分类中堆叠模型的网格搜索性能:避免训练卡顿的实用指南
jvm·数据库·python
2301_8152795215 分钟前
怎样通过Navicat高效导出ER模型为PDF文档_大幅提升绘制效率
jvm·数据库·python
2401_8716965215 分钟前
CSS如何让带Flex属性的元素自身不脱离文本流控制
jvm·数据库·python
brucelee18618 分钟前
[特殊字符] PostgreSQL 数据库压力测试完整流程(JMeter版)
数据库·postgresql·压力测试
2301_8135995522 分钟前
SQL如何提取两个表的交集_INTERSECT与INNER JOIN结合
jvm·数据库·python
m0_6742946433 分钟前
mysql如何处理索引基数过低情况_mysql索引选择性分析
jvm·数据库·python