数据分析 第一讲 Python语言及工作环境准备、本地数据的采集与操作

第一讲 Python语言及工作环境准备

一、数据分析

在这里插入图片描述

1 数据分析的基本概念

  • 1.用适当的统计分析方法对收集来的大量数据进行分析
  • 2.提取有用信息和形成结论
  • 3.对数据加以详细研究和概况总结
  • 目的:从数据中挖掘规则、验证猜想、进行预测

2 数据分析的流程

  • 明确目的(提出问题)->准备数据->数据解析->分析数据->获得结论->成果可视化

3 为什么要学习数据分析

  • 1、有岗位需要
  • 2、是机器学习的基础
  • 3、数据科学的基础

4 环境部署

  • 环境部署

认识jupyter
1、基于web的在线编辑器
2、可交互式
3、.ipynb文件分享
4、支持markdown

4.1 pip install jupyter

在这里插入图片描述

4.2安装完成后,输入命令jupyter notebook,会自动打开浏览器, 浏览器显示的是当前目录的文件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3在F盘下新建文件夹,在命令行中输入F:切换到F盘,cd 新建文件夹,输入jupyter notebook ,此时打开的浏览器就显示为当前F盘下面的文件。

在这里插入图片描述
在这里插入图片描述

4.4新建python3文件

在这里插入图片描述

4.5点击上方Untitled,重命名为demo

在这里插入图片描述

4.6 在当前浏览器中输入print(‘hello yangyu’),点击运行执行此操作。

在这里插入图片描述

4.7 在F盘\新建文件夹下生成的文件如下:

在这里插入图片描述

4.8不要关闭windows的命令行窗口,否则当前网页将会显示连接失败。

在这里插入图片描述

pycharm社区版
1、集成开发环境
2、官网下载地址:https://www.jetbrains.com/pycharm/download/#section=windows

pycharm的安装教程参照:
python学到死—第二讲 python基础、python3.6安装、pip工具的使用、pycharm简介、安装、配置
https://blog.csdn.net/yangyusir/article/details/114692760

二、本地数据的采集与操作

常用的本地文件格式

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

1.TXT文件操作

  • 1.打开文件

  • 2.文件操作(读写)

  • 3.关闭文件

  • 示例

'''
TXT文件操作
1.打开文件
file = open(filename, mode)
filename   文件名
mode        模式(打开文件的模式)
r           read  只读模式     文件不存在,程序报错
w           write  只写模式   文件不存在,程序会创建一个文件出来,程序正常
a           append  追加模式   文件不存在,程序会创建一个文件出来,程序正常

2.文件操作(读写)
2.1 读操作
file.read()      读取全部文件
file.readline()  读取一行
file.readlines()  返回列表
2.2 写操作
file.write()      写,会覆盖原来的内容

3.关闭文件
file.close()
'''

# file = open('demo.txt', 'r')  # 文件不存在报错FileNotFoundError: [Errno 2] No such file or directory: 'demo.txt'
file = open('demo.txt', 'a')  # 文件不存在,程序会创建一个文件出来,程序正常
# print(file.readable())  # False 判断文件是否可读   当前是以追加写的方式打开文件所以不可读
file.close()   # 关闭文件
file = open('demo.txt', 'a')
# print(file.readable())  # True 可读
# print(file.read())      #读取全部文件
# print(file.readline())  # 读取一行
# print(file.readlines())  # 读取多行
file.close()

file = open('demo.txt', 'w')
file.write('yangyu changes the world')   # 会覆盖原来的内容
file.close()

file = open('demo.txt', 'a')
file.write('\nHe is a king of the world')   # 追加方式写入
file.close()

2. with语句

  • 包括了异常处理,自动调用文件关闭操作,推荐使用
    with open(filename,mode) as f:
    文件操作
  • 练习
    创建1个文件,文件中放入’人生苦短 我用Python’, 读取刚才创建的文件内容。
  • 示例
# 上下文管理器
with open('test1.txt', 'w', encoding='utf-8') as f:
    f.write("人生苦短 我用Python")

with open('test1.txt', 'r', encoding='utf-8') as f:
    data = f.read()
    print(data)  # 人生苦短 我用Python

3. JSON文件操作

  • Json是一种轻量级的数据交换格式。Json源自JavaScript语言,易于人类的阅读和编写,同时
    也易于机器解析和生成,是目前应用最广泛的数据交换格式
  • Json是跨语言,跨平台的,但只能对Python的基本数据类型做操作,对Python的类就无能为
    力。JSON格式和Python中的字典非常像。但是,json的数据要求用双引号将字符串引起来,
    并且不能有多余的逗号

{
“name”:“json”,
“age”:25,
“address”:{
“city”:“CSC”,
“postalCode”:2001
},
“phoneNumber”:{
“type”:“home”,
“number”:“292-666-999”
}
}

JSON文件写操作
写入文件 json.dump()
写入字符串变量 json.dumps()

JSON文件读操作
从文件读取 json.load()
从字符串变量读取 json.loads()

  • 示例
'''
Json文件操作
写操作
json.dump   写入文件
json.dumps  写入字符串变量
读操作
json.load   从文件读取
json.loads  从字符串中读取
'''
import json

str1 = 'yangyu'
json.dump(str1, open('json.txt', 'w'))  # 打开json.txt,显示"yangyu"
str2 = json.dumps(['yangyu', {'age': 18}])
print(str2)  # ["yangyu", {"age": 18}]

p1 = json.load(open('json.txt', 'r'))
print(p1)  # yangyu
p2 = json.loads(str2)
print(p2)  # ['yangyu', {'age': 18}]

4. CSV文件操作

以纯文本形式存储的表格数据(以逗号作为分隔符),通常第一行为列名

  • CSV文件写操作
    import csv
    with open(“demo.csv”, “w”, newline="") as datacsv:
    csvwriter = csv.writer(datacsv, dialect=(“excel”))
    csvwriter.writerow([“A”, “B”, “C”, “D”])

  • CSV文件读操作
    import csv
    rf = open(‘demo.csv’,‘r’)
    reader = csv.reader(rf)
    print(next(reader))
    for i in reader:
    print(i)

  • 示例

'''
CSV文件操作
写操作
'''
import csv
#  newline 新行,默认是None
with open('demo.csv', 'w', newline='') as data_csv:
    # dialect 默认打开的方式是excel
    csv_writer = csv.writer(data_csv, dialect='excel')
    csv_writer.writerow(['a', 'b', 'c'])
    csv_writer.writerow(['a1', 'b1', 'c1'])
'''
CSV文件操作
读操作
'''
f = open('demo.csv')
reader = csv.reader(f)
print(reader)  # <_csv.reader object at 0x0000000002646128>

# 生成器
print(next(reader))  # ['a', 'b', 'c']
print(next(reader))  # ['a1', 'b1', 'c1']
# print(next(reader))  # 抛出异常StopIteration
# 用for循环打开不会抛出异常
for i in reader:
    print(i)
'''
['a', 'b', 'c']
['a1', 'b1', 'c1']
'''
import pandas as pd

df = pd.read_csv("demo.csv")
print(df)
'''
    a   b   c
0  a1  b1  c1
'''
print(df.head())   # 预览数据,默认前五行
'''
    a   b   c
0  a1  b1  c1
'''
data = df.head()
data.to_csv('demo1.csv', index=False)  # index默认是True,False就是去掉索引  打开demo1.csv,里面就没有0


5. Excel文件

Excel文件
Excel和CSV区别:
1.都可以Excel程序打开
2.Excel除了文本,数据也可以包含图表、样式等
3.CSV每条记录都存储为一行文本文件,每一条新行都表示一个新的数据记录

  • Excel文件读操作
    import xlrd
    book = xlrd.open_workbook(‘1.xls’)
    sheet = book.sheet_by_index(0) # 获取第一个sheet
    print(sheet.nrows) # 获取行数
    print(sheet.cell(1,1)) # 获取单元格的值,根据行列
    print(sheet.row(1)) # 获取第一行
    print(sheet.row_values(1,1)) # 获取第一行,跳过第一列
    -示例
'''
excel文件操作
文件读取
'''
import xlrd  # xl read

book = xlrd.open_workbook('1.xls')
# print(book)  # <xlrd.book.Book object at 0x000000000285EA88>
# 获取第一个sheet
sheet = book.sheet_by_index(0)
# print(sheet)  # Sheet  0:<Sheet1>
print(sheet.nrows)  # 2
#  行 列  从零开始
print(sheet.cell(1, 0))  # text:'杨yu'
print(sheet.cell(0, 1))  # text:'age'
print(sheet.row(1))  # [text:'杨yu', number:18.0]
print(sheet.row(0))  # [text:'name', text:'age']
  • Excel文件写操作
    import xlwt
    wbook = xlwt.Workbook()
    wsheet = wbook.add_sheet(‘sheet1’)
    wsheet.write(0, 0, label = ‘Row 0, Column 0’)
    wsheet.write(0, 1, label = ‘Row 0, Column 1’)
    wbook.save(‘output.xls’)
  • 示例
'''
excel文件操作
文件写入
'''
import xlwt  # xl write

book1 = xlwt.Workbook()
w_sheet = book1.add_sheet('sheet1')
w_sheet.write(0, 0, label='name')
w_sheet.write(0, 1, label='age')
book1.save('demo2.xls')
'''
excel文件操作
文件读取
'''
import pandas as pd

data = pd.read_excel('demo2.xls')
print(data)
'''
Empty DataFrame
Columns: [name, age]
Index: []
'''


6.练习

爬取王者荣耀英雄头像

json请求地址:http://gamehelper.gm825.com/wzry/hero/list

'''
爬取王者荣耀英雄头像
json请求地址:http://gamehelper.gm825.com/wzry/hero/list
'''
import requests
import json

hero_url = 'http://gamehelper.gm825.com/wzry/hero/list'


def download():
    # 下载头像
    res = requests.get(hero_url).json()
    # print(res)
    # print(type(res))  # <class 'dict'>
    for item in res['list']:
        print(item)
        hero_name = item['name']
        hero_image = item['cover']
        img = requests.get(hero_image).content
        path = './%s.png' % hero_name
        with open(path, 'wb') as f:
            f.write(img)


if __name__ == '__main__':
    download()

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值