pls*_*elp 5 python csv python-2.7
我有一个CSV文件,我想检查第一行是否只有字符串(即标题).我试图避免使用像熊猫等任何额外的东西.我想我会使用if语句,如果row [0]是字符串打印这是一个CSV,但我真的不知道如何做到这一点: - 任何建议?
Python有一个内置的CSV模块,可以提供帮助.例如
import csv
with open('example.csv', 'rb') as csvfile:
sniffer = csv.Sniffer()
has_header = sniffer.has_header(csvfile.read(2048))
csvfile.seek(0)
# ...
Run Code Online (Sandbox Code Playgroud)
小智 3
我会做这样的事情:
is_header = not any(cell.isdigit() for cell in csv_table[0])
Run Code Online (Sandbox Code Playgroud)
给定一个 CSV 表csv_table,抓取顶部(第零行)。迭代单元格并检查它们是否包含任何纯数字字符串。如果是这样,则它不是标题。not在整个表达式前面用 a 来否定它。
结果:
In [1]: not any(cell.isdigit() for cell in ['2','1'])
Out[1]: False
In [2]: not any(cell.isdigit() for cell in ['2','gravy'])
Out[2]: False
In [3]: not any(cell.isdigit() for cell in ['gravy','gravy'])
Out[3]: True
Run Code Online (Sandbox Code Playgroud)