关于CSV文件
#Python在读取csv文件的时候,尤其是通过split函数将其转换成列表时,其后面总是有1到2个空数值。致使进行遍历取值时,在遍历到最后的空数值时,由于没有数值,提示索引超出范围,如下例子所示。
#打开文件
f = open('info.csv',mode='r',encoding='utf-8')
#读取文件内容
original_data = f.read()
#关闭文件
f.close()
#根据字符串\n分割
split_n_list = original_data.split("\n")
print(split_n_list)
for item in split_n_list:
print(item) # 霍启刚,18,17357632@qq.com,20000
ele_list = item.split(",")
print(ele_list[0])
print(ele_list[1])
print(ele_list[2])
print(ele_list[3])
会有如下错误提示:
Traceback (most recent call last):
File “D:\Python_Project\day02\test.py”, line 18, in <module>
print(ele_list[1])
IndexError: list index out of range
解决此问题,可以使用strip()函数祛除文件开头和结尾的空白字符及换行符。
修改后的代码如下,无报错
#打开文件
f = open('info.csv',mode='r',encoding='utf-8')
#读取文件内容
original_data = f.read()
#关闭文件
f.close()
#根据字符串\n分割
split_n_list = original_data.strip().split("\n")
print(split_n_list)
for item in split_n_list:
print(item) # 霍启刚,18,17357632@qq.com,20000
ele_list = item.split(",")
print(ele_list[0])
print(ele_list[1])
print(ele_list[2])
print(ele_list[3])