neo4j数据库学习
前几天做了一个实验,我真的是拖延症好严重啊啊啊!做了好久,执行能力也很差,然后在同学的帮助下,最后还是完成了neo4j这个数据库实验。参考的是这个实验https://mp.weixin.qq.com/s/VXnd7quyVqQPUpFj7aeqtQ?tdsourcetag=s_pcqq_aiomsg,是数据库老师发来的建议性的作业。在我这种小白看来就是巨难的作业,不过在后面实现了,觉得好像也没有那么难,主要是可能第一次做这种小实验,然后比较不知从哪里开始,看文章上面的内容,也觉得好难理解。不过对于一个马上是大三的学生,做一个这样的实验还觉得困难,我觉得我的能力真的是有很大的问题。后续还要多学习多实践操作。下面开始我的实验记录啦!
首先是导入数据,
import tushare as ts import csv import time import pandas as pd pro = ts.pro_api('1dbda79ce58d052196b7ddec1663d53e4ea20571195a1a6055aab0c7') # 获取stock_basic stock_basic = pro.stock_basic(list_status='L', fields='ts_code, symbol, name, industry') # 重命名行,便于后面导入neo4j basic_rename = {'ts_code': 'TS代码', 'symbol': '股票代码', 'name': '股票名称', 'industry': '行业'} stock_basic.rename(columns=basic_rename, inplace=True) # 保存为stock.csv stock_basic.to_csv('stock.csv', encoding='gbk') # 获取top10_holders holders = pd.DataFrame(columns=('ts_code', 'ann_date', 'end_date', 'holder_name', 'hold_amount', 'hold_ratio')) # 获取一年内所有上市股票股东信息(可以获取一个报告期的) for i in range(3610): code = stock_basic['TS代码'].values[i] top10_holders = pro.top10_holders(ts_code=code, start_date='20180101', end_date='20181231') holders = holders.append(top10_holders) time.sleep(0.3)# 数据接口限制 # 保存为holders.csv holders.to_csv('holders.csv', encoding='gbk') # 获取concept,并查看概念分类数量 concept = pro.concept() concept.to_csv('concept_num.csv', encoding='gbk') # 获取concept_detail concept_details = pd.DataFrame(columns=('id', 'concept_name', 'ts_code', 'name')) for i in range(358): id = 'TS' + str(i) concept_detail = pro.concept_detail(id=id) concept_details = concept_details.append(concept_detail) time.sleep(0.3) # 保存为concept_detail.csv concept_details.to_csv('concept.csv', encoding='gbk')
这个是上面那个博主的代码,我之前有学一点爬虫,但是现在全部忘记了,
里面的tushare是一个网站,我之前不知道的网站,然后在pycharm编写时出现了一个错误,
出现这个问题是因为我之前不知道,爬虫导入数据要连接端口,同时这个tushare是需要注册才能进行数据获取。在这里跳坑了,学的python也不是很精。注册tushare用户之后,发现这个网站要获取数据需要有一定的积分,但是我这个初级用户没有,所以没有使用上面那个实验里面的数据,而是用的同学发的数据,把同学发的数据做成了csv,用在neo4j里面做导入。在做csv的时候,记得注意,,这个两个符合,以免造成做成的数据表格后面出现不美观的现象。做事还是要严谨认真的好。处理好数据之后,开始配置环境
环境变量配置好之后,开始连接neo4j数据库。在cmd中使用语句:neo4j.bat console,出现这个错误:
是因为没有安装和配置Java环境。配置好了之后,重新连接neo4j,成功之后的图片:
如果连接neo4j,没有显示一个这样的格式,就会导致neo4j网站连接不成功。连接成功后,再搜索这个网址http://localhost:7474/browser/,会出现这个界面:第一次登陆的用户和密码都是neo4j。登录成功之后的界面:
由于是之前导入数据,现在再去找数据太麻烦了,就用之前的图片就好了。导入数据的语句在不同的版本是不一样的,老版本:
neo4j-admin import --mode=csv --database=stock.db --nodes import/executive.csv --nodes import/stock.csv --nodes import/concept.csv --nodes import/industry.csv --relationships import/executive_stock.csv --relationships import/stock_industry.csv --relationships import/stock_concept.csv
,我在我这个最新版本的输入的语句是:
neo4j-admin import/name.csv
等,要是数据有关系和节点关系就要使用--nodes和--relationships。没有后续图片了,之后有机会在做这个数据库就会把图片和实验过程写的更加完善。