将带有 商店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的值。

相关推荐
小白量化29 分钟前
聚宽策略分享-1年化98国九条后中小板微盘小改
大数据·数据库·人工智能·量化·qmt
DBA小马哥7 小时前
Oracle迁移实战:如何轻松跨越异构数据库的学习与技术壁垒
数据库·学习·oracle·信创·国产化平替
暮乘白帝过重山7 小时前
ArkTS ForEach 参数解析:组件与键值生成器
开发语言·数据库
菜鸟plus+8 小时前
N+1查询
java·服务器·数据库
子夜江寒8 小时前
MySQL 表创建与数据导入导出
数据库·mysql
菜鸟小九8 小时前
redis基础(安装配置redis)
数据库·redis·缓存
保定公民8 小时前
达梦数据库使用cp备份集恢复报错分析与解决
数据库
中冕—霍格沃兹软件开发测试10 小时前
测试用例库建设与管理方案
数据库·人工智能·科技·开源·测试用例·bug
The star"'10 小时前
mysql(4-7)
数据库·mysql·adb
jiayong2311 小时前
Redis面试深度解析
数据库·redis·面试