前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >思知ownthink导入neo4j数据库预处理代码

思知ownthink导入neo4j数据库预处理代码

原创
作者头像
轻吻晴雯
修改2020-12-07 11:42:58
7270
修改2020-12-07 11:42:58
举报
文章被收录于专栏:杂文共赏杂文共赏

最近整理代码,发现这个处理代码,拿出来分享一下,当时还费了好久的功夫。

代码语言:txt
复制
# 导入需要的库
import pandas as pd
import csv
# 加载要处理的数据
h_r_t_name = ["index","name", "rel", "name2"]
reader = pd.read_csv("data.txt", iterator=True,error_bad_lines=False,na_values='NULL',names=h_r_t_name)
# 每次读入100w跳数据
loop = True
chunkSize = 1000000
chunks = []
chunks_ = []
# 设置要写出的csv文件格式及名称
csvf_entity = open("entity.csv", "w", newline='', encoding='utf-8')
w_entity = csv.writer(csvf_entity)
w_entity.writerow(("entity:ID", "name",":LABEL"))

csvf_rel = open("rel.csv", "w", newline='', encoding='utf-8')
w_rel = csv.writer(csvf_rel)
w_rel.writerow((':START_ID','name',':END_ID',':TYPE'))

i = 0
j = 0
k = 0

while loop:
  try:
    print(k)
    k = k + 1
    chunk = reader.get_chunk(chunkSize)
    no_na = chunk.dropna()
    df = no_na.groupby('name')
    for group_name, group_data in df:
        w_entity.writerow(("e" + str(i), group_name,"ENTITY"))
        j = i
        i = i + 1
        for index,row in group_data.iterrows():
            w_rel.writerow(("e" + str(j), row['rel'],"e" + str(i),"REL"))
            w_entity.writerow(("e" + str(i), row['name2'],"ENTITY1"))
            i = i + 1
  except StopIteration:
    loop = False
    print("Iteration is stopped.")

csvf_entity.close()
csvf_rel.close()

结果百度的时候发现还有人复制我的。。。这是我的原帖

他的第三节字和图都复制我的帖子

服了
服了

我无所谓,别人复制也是对我的认可。我觉得他这个帖子就是好几个人的文章合在一起。

就是有点好奇发帖多有排名会给钱吗?给的话我也去狂发。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 就是有点好奇发帖多有排名会给钱吗?给的话我也去狂发。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com