前言:
-学完本章,看待数据会有一种规范/格式化的视角
-方法论:从Python角度理解文件和数据表示
-实践能力:学会编写带有文件输入输出的程序
维度:一组数据的组织形式-线性还是二维或更高维
一维数据:由对等关系的有序或无序数据构成,采用线性方式组织
二维数据:由多个一维数据构成,是一维数据的组合形式(表格是典型的二维数据,表头是二维数据的一部分)
多维数据:由一维或二维数据在新维度上扩展形成
有序,则使用列表
无序,则使用集合
使用列表和集合都可以用for遍历数据
方式一:使用一个或多个空格分隔,不换行
如:中国 美国 日本 意大利
限制:数据中不能存在空格
方式二:使用英文半角逗号进行分隔,不换行
如:中国,美国,日本,意大利
限制:数据中不能有英文逗号
其他方式:采用特殊符号进行分隔
f = open("E:/code/python/821/fname.txt",encoding="utf-8")
txt = f.read()
ls = txt.split()
f.close()
print(ls)
输出
['中国', '美国', '日本', '意大利', '德国', '法国', '英国', '意大利']
例2
ls = ['新疆','北京','大连']
f = open("E:/code/python/821/fname.txt","w",encoding="utf-8")
f.write(" ".join(ls))
f.close()
总结:读出-split() 写入-join()
一般使用二维列表-本身和列表中的每个元素都是列表
使用两层for循环遍历每个元素
CSV:Comma-Separated Values 由逗号分隔的值
-国际通用的一二维数据存储格式,一般.csv扩展名
-每行一个一维数据,采用逗号分隔,无空行
-Excel和一般编辑软件都可以读入或另存为.csv文件
约定
-如果某个元素缺失,逗号仍要表格
-二维数据的表头可以作为数据存储,也可以另行存储
如果某一元素包含逗号,需要在元素两侧加引号,表明逗号不是用来分割元素的
一般索引习惯:先行后列 ls[row]column
例1 读出
fo = open(fname)
ls = []
for line in fo:
line = line.replace("\n","")#根据每行结束都有回车的习惯
ls.append(line.split(","))#括号内得到由,分隔开的列表
fo.close()
例2 将数据写入CSV格式的文件
ls = [[],[],[]] #二维列表
f = open(fname,'w')
for item in ls:
f.write(','.join(item) + "\n")
f.close()
例3 遍历
ls = [[1,2],[3,4],[5,6]] #二维列表
for row in ls:
for column in row:
print(column)
输出
1
2
3
4
5
6
出处:北理工Python慕课