已知python中可以借助csv或panda等库来解析csv文件, 如下代码不借助相关库,使用代码盲拆csv。
#!/usr/bin/python
# -*- encoding:utf-8 -*-
class CsvUtil(object):
def __init__(self):
pass
"""
[原始文本]
Name:,Class:
"zhangsan"",lisi,wangwu",class 1
"xiaoming,xiaohong",class 2
test_merge,
"zhangsan"",lisi,wangwu",class 1,,china,"123456","",
[实际文本]
Name: Class:
zhangsan",lisi,wangwu class 1
xiaoming,xiaohong class 2
test_merge 空
zhangsan",lisi,wangwu class 1 空 china 123456 空 空
[结论]
1.当前列原字符中如存在双引号,会被双引号转义
2.当前列原字符中存在逗号,该列会被双引号包裹
3.如果逗号后边没有值,意味着合并,继承前一个读取的值。(可通过开关控制)
"""
def readline(self, line: str, merge_mode: bool = False):
result = []
if line is None or len(line) =