簡體   English   中英

如何在 Neo4j 中導入 CSV 並將 null 值替換為默認值?

[英]How to import CSV in Neo4j and replacing null values, with default value?

我正在嘗試導入兩個非常相似的 CSV 文件,但我在將 null 值更改為默認值時遇到問題。 到目前為止,這是我的代碼:

我已經嘗試過合並和 foreach。 但我不確定我是否正確使用它。

LOAD CSV WITH HEADERS FROM 'file:///Company.csv' AS row
FIELDTERMINATOR ';'
WITH toInteger(row.CompanyID) AS CID, row.CompanyName AS CompanyName, row.Street AS Street, 
row.PostalCodeCity AS PostalCodeCity, row.Country AS Country, row.MainPhone AS MainPhone, 
row.Website AS Website, row.VATnumber AS VATnumber, toInteger(row.MarketCode) AS MarketCode, 
toInteger(row.SecondaryCode) AS SecondaryCode, row.Market AS Market, row.Status AS Status
MERGE (c:Company {Street: coalesce(row.Street, "Unknown")})
MERGE (c:Company {PostalCodeCity: coalesce(row.PostalCodeCity, "Unknown")})
MERGE (c:Company {MainPhone: coalesce(row.MainPhone, "Unknown")})
MERGE (c:Company {Website: coalesce(row.Website, "Unknown")})
MERGE (c:Company {VATnumber: coalesce(row.VATnumber, "Unknown")})
MERGE (c:Company {MarketCode: coalesce(row.MarketCode, "Unknown")})
MERGE (c:Company {SecondaryCode: coalesce(row.SecondaryCode, "Unknown")})
Merge (c:Company {CID: CID})
RETURN count(c)

我希望得到與我只看到 CSV 文件時相同的 output 文件,該文件正在工作。 但是當我使用 MERGE 時,它無法處理 null 值,因此我想替換它們。

現在我得到一個 Neo.ClientError.Statement.SyntaxError

Neo.ClientError.Statement.SyntaxError: Variable `row` not defined (line 7, column 36 (offset: 479))
"MERGE (c:Company {Street: coalesce(row.Street, "Unknown")})"
                                    ^

您正在重命名 WITH statemt 中的變量,但是在合並中使用原始變量...

嘗試

LOAD CSV WITH HEADERS FROM 'file:///Company.csv' 
AS row
FIELDTERMINATOR ';'
WITH toInteger(row.CompanyID) AS CID, 
row.CompanyName AS CompanyName, row.Street AS 
Street, 
row.PostalCodeCity AS PostalCodeCity, row.Country AS 
Country, row.MainPhone AS MainPhone, 
row.Website AS Website, row.VATnumber AS VATnumber, 
toInteger(row.MarketCode) AS MarketCode, 
toInteger(row.SecondaryCode) AS SecondaryCode, 
row.Market AS Market, row.Status AS Status
MERGE (c:Company {Street: coalesce(Street, "Unknown")})
MERGE (c:Company {PostalCodeCity: coalesce(PostalCodeCity, "Unknown")})
MERGE (c:Company {MainPhone: coalesce(MainPhone, "Unknown")})
MERGE (c:Company {Website: coalesce(Website, "Unknown")})
MERGE (c:Company {VATnumber: coalesce(VATnumber, "Unknown")})
MERGE (c:Company {MarketCode: coalesce(MarketCode, "Unknown")})
MERGE (c:Company {SecondaryCode: coalesce(SecondaryCode, "Unknown")})
Merge (c:Company {CID: CID})
RETURN count(c)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM