【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)

一、概述:

常用的本地文件格式


• TXT 文件操作
• JSON文件操作
• CSV文件操作
• Excel文件操作

SQLite数据库基本操作


SQL常用语法
• 多表连接
 

实战案例:欧洲职业足球数据库分析
 

二 、常用的本地文件格式

 

1、TXT文件操作


• 由字符串行组成,每行由EOL (End Of Line) 字符隔开, ‘\n’
• 打开文件
• file_obj = open(filename, mode)
• mode: ‘r’, ‘w’

txt_filename = './files/python_wiki.txt'

# 打开文件
file_obj = open(txt_filename, mode='r', encoding='utf-8')


• 读操作


• file_obj.read() 读取整个文件内容 

all_content = file_obj.read()

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第1张图片
• file_obj.readline() 逐行读取

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第2张图片
• file_obj.readlines() 返回列表,列表中的每个元素是一行内容

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第3张图片

for line in lines:
    print(line)

# 关闭文件
file_obj.close()

 【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第4张图片


• 写操作


• file_obj.write() 将内容写入文件  (写入中文,用encoding='utf-8')

txt_filename = './files/test_write1.txt'   #不需要事先在目录里有这个txt,这句话会自动生成

# 打开文件
file_obj = open(txt_filename, mode='w', encoding='utf-8')

# 写入全部内容
file_obj.write("《Python数据分析》")
file_obj.close()


• file_obj.writelines() 将字符串列表内容逐行写入文件
 

# 写入字符串列表
lines = ['这是第{}行\n'.format(i) for i in range(10)]
txt_filename = './files/test_write2.txt'

# 打开文件
file_obj = open(txt_filename, mode='w', encoding='utf-8')

file_obj.writelines(lines)
file_obj.close()

 

关闭文件
• file_obj.close()


• with 语句


• 包括了异常处理,自动调用文件关闭操作, 推荐使用
• 适用于对资源进行访问的场合,确保无论使用过程中是否发生异常都
会执行“清理”操作,如文件关闭、线程的自动获取与释放等
• with open(filename) as f_obj:
# 执行相关操作

txt_filename = './files/test_write2.txt'
with open(txt_filename, 'r', encoding='utf-8') as f_obj:
    print(f_obj.read())
这是第0行
这是第1行
这是第2行
这是第3行
这是第4行
这是第5行
这是第6行
这是第7行
这是第8行
这是第9行
txt_filename = './files/test_write2.txt'
with open(txt_filename, 'r', encoding='utf-8') as f_obj:
    print(f_obj.read())
print(f_obj.read())

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第5张图片

总结:wirtelines能够将列表数据的内容写进txt文件,wirte则只能写字符串

 

2、JSON文件操作

 

简单的说就是 JavaScript Object Notation, JavaScript对象表示法

数据是键值对,存在两种结构
• 对象(object) :由 { } 表示,如 {key1:val1,key2:val2}
• 数组(array) :由 [ ] 表示,如 [val1,val2, …, valn]
 

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第6张图片

• 读操作

•从文件读取: json.load()

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第7张图片

• 从字符串变量读取: json.loads()

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第8张图片

• 写操作
 

• 写入文件: json.dump()

    中文才要 utf-8,有with不要关闭操作
• 写入字符串变量: json.dumps()

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第9张图片

* 练习题目


给定beijing.json的文件,将文件中properties中的id和name内容写到beijing.csv文件中

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第10张图片

后续:

http://jsonviewer.stack.hu/  可方便看json文件

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第11张图片

【python数据分析+实战】【2.1】本地数据的采集与操作(txt、JSON操作)_第12张图片

你可能感兴趣的:(python数据分析)