csv文件(Comma-Separated Values)的解析
python标准库中有csv
假如有这样一份csv文件,叫做 students.csv
id,name, age,gender,class_num
1001,张三,18,male,01
1002,李四,19,male,01
1003,王五,19,famale,01
1004,李华,18,male,01
拿到一份csv文件,通常情况来说整个csv文件的信息都在第一行,因此,我们需要知道这份csv文件到底包含哪些信息。
可以通过python自带的csv模块来读取表头信息
1.打印表头信息
import csv
filename = "students.csv"
with open(filename) as f:
render = csv.reader(f) # reader(迭代器对象)--> 迭代器对象
# 取表头
header_row = next(render)
print(header)
运行结果如下:
result.png
2.读取文件中的数据
我们还是以这份简单的 Studens.csv文件来获取其中每一行的数据,并将之显示出来
import csv
filename = "students.csv"
with open(filename) as f:
render = csv.reader(f) # reader(迭代器对象)--> 迭代器对象
# 取表头
header_row = next(render)
#print(header)
for row in render:
id = row[0]
name = row[1]
age = row[2]
gender = row[3]
class_ = row[4]
print(id, name, age, gender, class_)
运行结果如下:
result1.png
如果需要进一步处理这些数据,需注意这些类型都为字符串类型,需要将之转换为相应的类型,否则容易出现 ValueException
为了避免csv文件中有不含值的情况需要进行异常处理,通过采用的做法是用 try...except...else 语句来处理