国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

neo4j用python導(dǎo)入Excel數(shù)據(jù)的方法

這篇具有很好參考價值的文章主要介紹了neo4j用python導(dǎo)入Excel數(shù)據(jù)的方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

neo4j的下載

neo4j的介紹

neo4j簡介

neo4j樣本項目介紹

neo4j修改密碼

連接GraphXR

用Python往neo4j導(dǎo)入Excel數(shù)據(jù)

代碼部分

?關(guān)于創(chuàng)建結(jié)點:

關(guān)于創(chuàng)建關(guān)系:

結(jié)束


neo4j的下載

neo4j下載網(wǎng)址:Neo4j Download Center - Graph Database & Analytics

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

點擊紅框內(nèi)的Download Neo4j Desktop

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

填寫信息后點擊Download Desktop,即可下載安裝包

安裝步驟較為簡單,此處省略

neo4j的介紹

neo4j簡介

neo4j是一個高性能的,NOSQL圖形數(shù)據(jù)庫,它將結(jié)構(gòu)化數(shù)據(jù)存儲在網(wǎng)絡(luò)上而不是表中。它是一個嵌入式的、基于磁盤的、具備完全的事務(wù)特性的Java持久化引擎,但是它將結(jié)構(gòu)化數(shù)據(jù)存儲在網(wǎng)絡(luò)(從數(shù)學(xué)角度叫做圖)上而不是表中。Neo4j也可以被看作是一個高性能的圖引擎,該引擎具有成熟數(shù)據(jù)庫的所有特性。程序員工作在一個面向?qū)ο蟮?、靈活的網(wǎng)絡(luò)結(jié)構(gòu)下而不是嚴(yán)格、靜態(tài)的表中——但是他們可以享受到具備完全的事務(wù)特性、企業(yè)級的數(shù)據(jù)庫的所有好處。

Neo4j因其嵌入式、高性能、輕量級等優(yōu)勢,越來越受到關(guān)注。

neo4j樣本項目介紹

紅框內(nèi)的代表Projects,里面包含了所有的項目文件,剛下載好neo4j后,neo4j會給一個樣本項目(Example Project),這個項目里的圖數(shù)據(jù)庫存儲的是美國電影和影視演員之間的知識圖譜關(guān)系:

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜?

?neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜?

neo4j修改密碼

這個是圖數(shù)據(jù)庫的操作頁面,其中比較重要的是下圖紅框內(nèi)的內(nèi)容,我們在以后的連接python和GraphXR時需要用到bolt連接、用戶名neo4j和密碼,密碼的話修改過程如下:

先點擊第一個紅框的空白處,就會彈出圖數(shù)據(jù)庫的詳細(xì)信息,然后里面有重新設(shè)置密碼的地方,輸入密碼點擊Apply就行,這里我設(shè)置的是123456789

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜?

我們點擊start啟動圖數(shù)據(jù)庫

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜?

點擊Open打開?

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜?

彈出這個頁面:

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

?紅框里的就是用于連接的bolt連接和用戶名neo4j,密碼我們之前已經(jīng)修改為了123456789

連接GraphXR

neo4j數(shù)據(jù)庫查看數(shù)據(jù):

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

紅框標(biāo)注的三個都可以點擊,點擊Movie就是查看Movie類的結(jié)點,Person就是Person類的結(jié)點,*169是不論類別的結(jié)點,?我們點擊查看時圖中限制了大?。↙IMIT 25),指的是查看25個結(jié)點的關(guān)系圖譜,我們可以更改LIMIT后面的值,也可以直接刪除LIMIT:

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

如果查看的數(shù)據(jù)量很大會造成neo4j卡頓,我推薦用GraphXR來進(jìn)行查看

網(wǎng)址:上海圖客科技有限公司

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

點擊GraphXR試用,因為我已經(jīng)注冊過賬號,所以可以直接進(jìn)入,新人第一次點擊試用后可以注冊賬號,然后免費(fèi)試用,試用時間沒說多少天......

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

?我們點擊新建:

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

項目名稱可以自己填,然后勾選配置neo4j實例,主機(jī)填localhost,端口就是7687,用戶名就是neo4j,密碼我們設(shè)置的是123456789,點擊確認(rèn)就行。(注意連接neo4j時neo4j的數(shù)據(jù)庫要保持開著的狀態(tài),不能關(guān)了)?

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

?按照上圖操作,點擊提取所有:

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

其中類別和關(guān)系是主要的兩個提取操作,我們可以都提取出來查看(如上圖):

用Python往neo4j導(dǎo)入Excel數(shù)據(jù)

我們可以把Excel文件和python文件放在一個文件夾里(便于提取和操作):

neo4j導(dǎo)入excel,neo4j,數(shù)據(jù)庫,python,知識圖譜

?其中我把Excel文件轉(zhuǎn)換成了csv文件,一個是python對csv文件提取和操作都更快,另一個是我在操作Excel文件時會有一些編碼錯誤,所以我用csv文件來導(dǎo)入數(shù)據(jù)

代碼部分

下面是test1.py的代碼:

from py2neo import Graph, Node, Relationship
import csv

g = Graph("bolt://localhost:7687", user="neo4j", password="123456789", name="neo4j") # 連接數(shù)據(jù)庫

reader = csv.reader(open('kg-table-data.csv', 'r', encoding='utf-8'))   # 讀取csv文件
reader1 = csv.reader(open('kg-table-data-1.csv', 'r', encoding='utf-8'))  # 讀取csv文件

for item in reader: # 讀取每一行
    if reader.line_num == 1:    # 去除第一行
        continue   
    print("當(dāng)前行數(shù):", reader.line_num, "當(dāng)前行內(nèi)容:", item) # 打印當(dāng)前行數(shù)和當(dāng)前行內(nèi)容

    # 創(chuàng)建起始節(jié)點,并添加屬性
    start_node = Node('Company', name=item[0])  # 創(chuàng)建節(jié)點
    start_node['role'] = '競買方'   # 添加屬性
    g.merge(start_node, 'Company', 'name')   # 以name屬性為主鍵,如果存在則更新,不存在則創(chuàng)建

    # 創(chuàng)建結(jié)束節(jié)點,并添加屬性
    end_node = Node('Company', name=item[4])    # 創(chuàng)建節(jié)點
    end_node['role'] = '出讓方'    # 添加屬性
    g.merge(end_node, 'Company', 'name')    # 以name屬性為主鍵,如果存在則更新,不存在則創(chuàng)建

    # 為兩個節(jié)點之間添加關(guān)系以及關(guān)系的屬性
    relationship_type = '競買' # 關(guān)系類型
    relationship_properties = { # 關(guān)系屬性
        '交易標(biāo)的': item[1],
        '首次披露日': item[2],
        '交易總價值(本幣/萬元)': item[3]
    }
    relationship = Relationship(start_node, relationship_type, end_node, **relationship_properties) # 創(chuàng)建關(guān)系
    g.merge(relationship)  # 以關(guān)系為主鍵,如果存在則更新,不存在則創(chuàng)建

先在python終端或者cmd里面安裝py2neo庫:

pip install py2neo

代碼詳解在注釋里已經(jīng)寫得比較詳細(xì)了,其中如果給結(jié)點添加屬性的話,可以這樣寫:

start_node['role'] = '競買方'   # 添加屬性

中括號里是結(jié)點的屬性,后面的賦值是屬性的一個具體表現(xiàn),role和競買方這兩個單詞是可以換成其他東西的。

關(guān)系屬性的添加的話可以這樣寫:

relationship_properties = { # 關(guān)系屬性
        '交易標(biāo)的': item[1],
        '首次披露日': item[2],
        '交易總價值(本幣/萬元)': item[3]
        # 添加一個關(guān)系屬性:
        '交易地點':item[5]
    }

著重講一下item,這個是在for循環(huán)當(dāng)中讀取每一行的數(shù)組變量,它讀取的是文件的每一行:

for item in reader: # 讀取每一行
    if reader.line_num == 1:    # 去除第一行
        continue
    print("當(dāng)前行數(shù):", reader1.line_num, "當(dāng)前行內(nèi)容:", item) # 打印當(dāng)前行數(shù)和當(dāng)前行內(nèi)容

根據(jù)我那個表格的話,item[0]是競買方,item[4]是出讓方,item[1],item[2],item[3]分別是交易標(biāo)的、首次披露日、交易總價值(本幣/萬元)。

?關(guān)于創(chuàng)建結(jié)點:

start_node = Node('Company', name=item[0])  # 創(chuàng)建節(jié)點
start_node['role'] = '競買方'   # 添加屬性
g.merge(start_node, 'Company', 'name')   # 以name屬性為主鍵,如果存在則更新,不存在則創(chuàng)建

其中Company是這個結(jié)點的一個大屬性(大類),name=item[0]就是根據(jù)item[0]來為它創(chuàng)建名稱,role就是它的一個小屬性:競買方,g.merge()這個函數(shù)表示如果沒有這個結(jié)點,就創(chuàng)建這個結(jié)點并添加,如果有這個結(jié)點就不重復(fù)添加了。

關(guān)于創(chuàng)建關(guān)系:

# 為兩個節(jié)點之間添加關(guān)系以及關(guān)系的屬性
    relationship_type = '競買' # 關(guān)系類型
    relationship_properties = { # 關(guān)系屬性
        '交易標(biāo)的': item[1],
        '首次披露日': item[2],
        '交易總價值(本幣/萬元)': item[3]
    }
    relationship = Relationship(start_node, relationship_type, end_node, **relationship_properties) # 創(chuàng)建關(guān)系
    g.merge(relationship)  # 以關(guān)系為主鍵,如果存在則更新,不存在則創(chuàng)建

關(guān)系的大類別為:競買,關(guān)系的屬性在relationship_properties里存儲,item是讀取每一行之后的數(shù)據(jù),根據(jù)數(shù)組下標(biāo)填進(jìn)去就行,如果要添加屬性就在relationship_properties里面繼續(xù)添加,格式為:

# 你要添加的屬性
'要添加的屬性': item[5]     # item[]中括號里面的數(shù)字看csv表格里的進(jìn)行添加

結(jié)束

以上就是neo4j用python導(dǎo)入Excel或csv數(shù)據(jù)的方法,謝謝大家!文章來源地址http://www.zghlxwxcb.cn/news/detail-810428.html

到了這里,關(guān)于neo4j用python導(dǎo)入Excel數(shù)據(jù)的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Neo4j:入門基礎(chǔ)(二)~ 數(shù)據(jù)導(dǎo)入Neo4J

    Neo4j:入門基礎(chǔ)(二)~ 數(shù)據(jù)導(dǎo)入Neo4J

    neo4j導(dǎo)入數(shù)據(jù)的方式有以下幾種: Cypher create 語句,為每一條數(shù)據(jù)寫一個create Cypher load csv 語句,將數(shù)據(jù)轉(zhuǎn)成CSV格式,通過LOAD CSV讀取數(shù)據(jù)。 neo4j-admin import導(dǎo)入 官方提供的Java API - BatchInserter 大牛編寫的 batch-import 工具 neo4j-apoc load.csv + apoc.load.relationship 針對實際業(yè)務(wù)場景,定制

    2024年02月09日
    瀏覽(28)
  • 利用python將json格式的文件導(dǎo)入neo4j圖數(shù)據(jù)庫

    筆者收到了朋友的求助,希望我寫一段python代碼將含對用關(guān)系的json文件導(dǎo)入neo4j圖數(shù)據(jù)庫。json的格式如下: 他說數(shù)據(jù)量有幾十萬條,而且對應(yīng)關(guān)系不唯一:但可以保證每條都含有名稱和治療,但是可能有若干條其他的對用關(guān)系,例如上文的例子:其既包含之前的三個模塊,

    2024年02月16日
    瀏覽(28)
  • Neo4j 導(dǎo)入CSV數(shù)據(jù)

    Neo4j 導(dǎo)入CSV數(shù)據(jù) 要求 必須有一個或多個 CSV 文件來表示將在圖中創(chuàng)建的節(jié)點和關(guān)系。 必須有一個已啟動的現(xiàn)有 Neo4j DBMS。 Neo4j 中存儲為屬性的數(shù)據(jù)類型 String:字符串 Long (integer values):整數(shù)值 Double (decimal values):雙精度(十進(jìn)制值) Boolean:布爾值 Date/Datetime:時間 Point (sp

    2024年02月03日
    瀏覽(22)
  • 批量數(shù)據(jù)導(dǎo)入Neo4j的方式

    批量數(shù)據(jù)導(dǎo)入Neo4j的方式

    Linux版本: Ubuntu Kylin 16.04 Neo4j版本: Neo4j-3.2.7 最常見的數(shù)據(jù)格式之一是平面文件上的 行和列 。這種電子表格格式被用于各種關(guān)系型數(shù)據(jù)庫的導(dǎo)入和導(dǎo)出,所以用這種方式檢索現(xiàn)有數(shù)據(jù)是很容易的。很明顯,CSV格式就是這種類型。 Cypher中的 LOAD CSV 命令允許我們指定一個文件

    2023年04月12日
    瀏覽(27)
  • Neo4j筆記-數(shù)據(jù)遷移(導(dǎo)出/導(dǎo)入)

    Neo4j筆記-數(shù)據(jù)遷移(導(dǎo)出/導(dǎo)入)

    這里先說明以下幾點: Neo4j在4.0下版本默認(rèn)的庫名是:graph.db Neo4j在4.0上版本默認(rèn)的庫名是:neo4j.db 不管是Neo4j,還是Neo4j Desktop,都會在bin目錄下有neo4j、neo4j-admin軟件。在conf目錄下,有neo4j.conf配置文件。 這個就是我裝的,Test項目,里面帶有neo4j 如果需要把低版本的庫數(shù)據(jù)導(dǎo)

    2024年02月14日
    瀏覽(23)
  • Neo4j導(dǎo)出和導(dǎo)入數(shù)據(jù)庫

    Neo4j 4.x版本和5.x版本的導(dǎo)出導(dǎo)入有區(qū)別,這里分開來講。 導(dǎo)入導(dǎo)出之前要先 關(guān)閉 neo4j服務(wù)。 進(jìn)入 $NEO4J_HOME%/bin 目錄執(zhí)行如下數(shù)據(jù)庫導(dǎo)出命令: 提示: 其中 neo4j.db 是你需要導(dǎo)出的默認(rèn)數(shù)據(jù)庫??梢匀?conf 文件中查看,默認(rèn)數(shù)據(jù)庫是哪一個。

    2024年02月16日
    瀏覽(32)
  • Neo4j 圖數(shù)據(jù)庫的導(dǎo)入導(dǎo)出

    Neo4j 圖數(shù)據(jù)庫的導(dǎo)入導(dǎo)出

    目錄 neo4j Desktop頁面層級: 圖數(shù)據(jù)庫導(dǎo)出: 圖數(shù)據(jù)庫導(dǎo)入: 圖數(shù)據(jù)庫的分庫分表: 以Neo4j Desktop為例: 分為三個層級: Project:用于區(qū)分多個項目 DBMS:一個項目內(nèi),可以有多個版本的DBMS database:一個DBMS內(nèi),可以有多個數(shù)據(jù)庫 選中一個database,點擊右邊的 ··· ,點擊dump,

    2024年02月09日
    瀏覽(21)
  • 使用apoc將數(shù)據(jù)從數(shù)據(jù)庫導(dǎo)入neo4j

    1、創(chuàng)建實體 這段代碼的目的是從 ClickHouse 數(shù)據(jù)庫中加載數(shù)據(jù)到 Neo4j 圖數(shù)據(jù)庫,并在加載過程中使用 APOC(Awesome Procedures on Cypher)庫提供的 apoc.merge.node 過程來合并數(shù)據(jù),確保在圖數(shù)據(jù)庫中的節(jié)點具有唯一性。 逐行解釋這段代碼: CREATE CONSTRAINT uniq_law_id ON (p:Law) ASSERT p.id IS

    2024年02月21日
    瀏覽(27)
  • Neo4j桌面版安裝、調(diào)試和數(shù)據(jù)庫導(dǎo)出導(dǎo)入

    Neo4j桌面版安裝、調(diào)試和數(shù)據(jù)庫導(dǎo)出導(dǎo)入

    下載路徑: ?Neo4j Desktop (exe) 需要填寫一些信息,隨便填寫就行 開始下載時,界面會跳轉(zhuǎn)到 激活碼界面 ,激活軟件用 ? 安裝完成之后,點擊啟動,然后輸入激活碼 可在Add按鈕新增數(shù)據(jù)庫,其中Movie DBMS為系統(tǒng)自帶數(shù)據(jù)庫,下面為自己新增 新增數(shù)據(jù)庫示例: 此種情況,大概率

    2024年02月05日
    瀏覽(52)
  • neo4j創(chuàng)建數(shù)據(jù)庫及導(dǎo)入csv文件內(nèi)容詳解

    neo4j創(chuàng)建數(shù)據(jù)庫及導(dǎo)入csv文件內(nèi)容詳解

    neo4j展示知識圖譜主要需要兩類數(shù)據(jù):節(jié)點數(shù)據(jù)和關(guān)系數(shù)據(jù)。本節(jié)主要講解數(shù)據(jù)的輸入格式。(示例數(shù)據(jù)較簡單,可對照自己的數(shù)據(jù)進(jìn)行調(diào)整) 1.節(jié)點文件 創(chuàng)建excel表格,以演員、電影數(shù)據(jù)為例: 第一列為屬性名,可表示為屬性名_Id,上圖的屬性名為actor或movie, 注意取值不

    2024年02月05日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包