目前正在编写一个python脚本,将csv文件转换为sql文件。生成csv时,空值不会输入到文本文件中。因此,我必须对数据进行解析,如果相邻有逗号(例如:,,),那么我知道需要在两者之间输入一个空值。我在测试记录中的最后一列是否为null时遇到了问题。目前,我寻找逗号,如果我在后面找到另一个,它会被设置为null,但在最后它只是一个逗号,然后字符串结束。你知道吗
我试着在这里四处看看,我发现的大部分都和这个link相似。我所发现的并不是解决当前问题的办法。你知道吗
请看一个小代码段,看看我目前是如何做的(不起作用):
for text in line:
if(text == ',' and line[indexCurrent+1]==None):
newLine = line[indexCurrent] + '"NULL"' + line[indexCurrent+1]
以下是我目前的结果:
从这一行:
2816 ,, "Jeremie Hermiston",, "789-yb-20772",
我明白了:
2816 ,"NULL", "Jeremie Hermiston","NULL", "789-yb-20772",
我要这句话:
2816 ,"NULL", "Jeremie Hermiston","NULL", "789-yb-20772","NULL"
您还可以假设逗号是字符串中的最后一个字符,在最后一个逗号之后没有任何内容(甚至没有空格)。你知道吗
我设法用re模块得到了你要求的结果。这是你的选择吗?你知道吗
为了清楚起见,我们分两个步骤,首先用','替换所有','和',“None”,',然后用',“None”替换终止逗号(',$';$是行尾锚点)
相关问题 更多 >
编程相关推荐