-2

我只是对 CSV 文件有一些疑问。

- 所有值都等于 Header。

例如:-

abc.csv 文件包含

RollNO,Name,Age
1,Abc,15
2,Def,18

有时发生了什么文件是这样来的

RollNO,Name,Age
1,Abc,15
2,Def,18,blabla,21

在这种情况下,该值大于标头。那么我该如何检查这个东西。

-检查空白页眉

aaa.csv

RollNO,Name,Age, ,Address

我必须检查标题中是否应该有空白。

- 检查标题中是否没有特殊字符。

bbb.csv

Rol$lNO,Name,Age,Address

我还必须检查这件事,标题不应包含特殊字符。

提前致谢!!!

4

1 回答 1

2
import re    
csvfile = open('abc.csv','r')
csv = [line.split(',') for line in csvfile.readlines()]

问题 #1:检查数据行是否比标题行长:

for i in csv[1:]:
    if len(i) > len(csv[0]):
        print("found a data row that is longer then the header row.")

问题#2:检查是否有一个空的标题项:

blank = re.compile(r'\s*')
for i in csv[0]:
    if blank.match(i).end() == len(i):
        print("found an empty header item")

问题#3:检查标题中是否有任何特殊字符:

charset = re.compile(r'\w*')
for i in csv[0]:
    if charset.match(i).end() != len(i):
        print("found a header item that contains special characters.")
于 2013-01-07T15:24:39.820 回答