# CY3761 | 2021-11-20 23:52
import os
import time
import pymongo
joinStr = '\n'
fileSep = ','
fileDataEncoding = 'utf-8'
def timePlus():
t = time.time()
return '%s %.4f' % (time.strftime('%H:%M:%S', time.localtime(t)), t - int(t))
def getFileData(filePath):
if os.path.exists(filePath):
with open(filePath, 'r', encoding=fileDataEncoding) as r:
fileData = r.readlines()
# 这里改成生成器
def newFileData():
for _ in fileData:
if _:
_ = _.replace(joinStr, '').split(fileSep)
_a = _[0] # 名称
_b = _[1] # 上级代码
_c = _[2] # 当前代码
yield {
'code': _c,
'pcode': _b,
'name': _a
}
return newFileData()
dataFilePath = r'行政区划代码-2020.txt'
def main():
print('开始执行 当前时间: %s' % timePlus())
if not os.path.exists(dataFilePath):
raise Exception('数据文件不存在')
print('数据读取开始 当前时间: %s' % timePlus())
items = getFileData(dataFilePath)
print('数据读取完成 当前时间: %s' % timePlus())
print(items)
client = pymongo.MongoClient('localhost', 27017)
database = client.csdn # 创建并选择数据库
collection = database.stats # 创建数据集合
print('数据存储开始 当前时间: %s' % timePlus())
res = collection.insert_many(items)
print('数据存储结束 当前时间: %s' % timePlus())
print('存储数据长度: %d' % len(res.inserted_ids))
if __name__ == '__main__':
try:
main()
pass
except (Exception, BaseException) as e:
print(e)