当您已经将包含商店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的值。