数据格式化

数据组织的维度

一维数据,二维数据,多维数据(表格就是典型的多维数据)

高维数据:

数据的操作周期

数据存储—数据表示—数据操作

一维数据的表示

列表类型可以表达一维有序数据

for循环可以遍历数据,进而对每个数据进行处理

如果数据间无序,可以使用集合类型

集合类型可以表达一维无序数据

for循环可以遍历数据,进而对每个数据进行处理

一维数据的存储

存储方式一:空格分隔

​ 使用一个或多个空格分隔进行存储,不换行

​ 缺点:数据中不能存在空格

存储方式一:逗号分隔

​ 使用英文半角逗号分隔数据进行存储,不换行

​ 缺点:数据中不能存在英文逗号

其他方式:建议采用特殊符号

​ 缺点:通用性较差

一维数据的处理

从空格分隔符的文件找中读入数据

txt = open(fname).read()
Is = txt.split()
f.close()

从特殊符号分隔的文件中读入数据

txt = open(fname).read()
Is = txt.split("$")
f.close()

用空格分隔写入文件

Is = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write(' '.join(Is))
f.close()

用特殊分隔符写入文件

Is = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write('$'.join(Is))
f.close()

二维数据的表示

列表类型表示二维数据

使用两层for循环遍历每一个元素

CSV数据存储格式



如果数据中包含逗号,则在数据两侧增加一个引号,来表示这个逗号不是分隔元素的逗号

二维数据存储和索引一般采用先行后列的方式

二维数据的处理

读入处理

fo = open(fname)
Is = []
for line in fo:
    line = line.replace("\n","")
    Is.append(line.split(","))
fo.close()

写入处理

Is = [[], [], []]
f = open(fname, 'w')
for item in Is:
    f.write(','.join(item) + '\n')
f.close()