已知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) == 0:
return result
temp_str = ''
max_idx = len(line) - 1
left_ptr, right_ptr = 0, 0
double_quotation_mark_read_

本文介绍了如何在Python中不依赖csv或pandas库,通过代码实现CSV文件的逐行读取。展示了在Python3.9环境下执行的效果。
最低0.47元/天 解锁文章
4325

被折叠的 条评论
为什么被折叠?



