csv文件清洗与导入neo4j遇到的问题
一、导入节点的时候报错,数据格式出现问题,无法处理\符号
二、导入node.csv与relationships.csv时都遇到的问题
4 回复
数据包含反斜杠如何处理?
原始数据:
333 S Twin Oaks Valley RD #\"",San Marocs,CA,92078;
333 S Twin Oaks Valley RD #\""
按照CSV支持格式处理之后的数据如下两种中包含反斜杠的时候导入失败
成功:
"333 S Twin Oaks Valley RD #"""",San Marocs,CA,92078;"
"333 S Twin Oaks Valley RD #"""""
失败:
"333 S Twin Oaks Valley RD #\"""",San Marocs,CA,92078;"
"333 S Twin Oaks Valley RD #\"""""
一、对已经生成好的CSV文件做清洗:
# 1、打印csv文件的某一行
sed -n '2p' student.txt
# 2、删除csv文件的某一行(删除第一行到第二行)(删除之后打印)
sed '1,2d' test
# 3、打印csv文件行数
sed -n '$=' test1.sh
# 4、awk抽取包含某字段的整行日志
awk '{if($0~"listAuths") print}' xxx.log
# 5、删除包含某字符串的行(直接从文件删除)
sed -i '/listAuths/d' xxx
# 6、awk抽取包含某字段的整行日志并查看行号
awk '{if($0~"listAuths") print FNR,$0}' xxx.log
# 7、删除指定的行
sed -i '8d' xxx sed -i '6,8d' xxx
# 8、csv文件中删除每一行的反斜杠\符号
sed -i 's/\\//g' node.csv
二、将node.csv中第一列为空的数据删除:
#!/usr/bin/env bash
file=node.csv
temp_file=temp_node
awk -F , '$1 !~ /^$/{print $0}' $file > $temp_file
cp -rp $temp_file $file
rm -rf $temp_file
三、将relationships.csv第一列或者第二列为空的数据删除:
#!/usr/bin/env bash
file=relationships.csv
temp_file=temp_relation
awk -F , '$1 !~/^$/ && $2 !~/^$/{print $0}' $file > $temp_file
cp -rp $temp_file $file
rm -rf $temp_file