pandas数据加载和保存

1.读取csv文件read_csv()

1.1读取并设置表头

import pandas as pd

path = r'D:\exa5.csv'
print('设置用哪一行作为列名,一般是header=0,就是用csv文件的第一行作为表头:')
df = pd.read_csv(path,header=0,encoding='gbk')
print(df)

运行结果:

设置用哪一行作为列名,一般是header=0,就是用csv文件的第一行作为表头:
            日期   股票0   股票1   股票2   股票3   股票4
0     2020/5/8  1.45  2.52 -1.82  1.86  4.50
1     2020/5/8  0.46  3.05 -5.54  3.26  2.17
2     2020/5/8 -5.05  1.55  0.22  0.53  1.63
3     2020/5/8  7.39  3.30  1.46  1.18  1.31
4     2020/5/8 -1.11  0.04  1.50 -3.21  1.58
...        ...   ...   ...   ...   ...   ...
9995  2020/5/8  3.23  2.18  2.46 -5.91  1.85
9996  2020/5/8  1.73  3.41  1.46  1.71 -1.13
9997  2020/5/8 -4.17 -4.04 -2.02  4.45  3.91
9998  2020/5/8  5.57  2.89 -0.81  2.60 -1.68
9999  2020/5/8 -2.09  5.27 -2.04  4.75  3.32

[10000 rows x 6 columns]

1.2读取并设置行索引

import pandas as pd

path = r'D:\exa5.csv'
print('设置用哪一列作为索引,index_col可以为列名或者列号,index_col=0、index_col="日期":')
df = pd.read_csv(path,index_col=0,encoding='gbk')
print(df)

运行结果:

设置用哪一列作为索引,index_col可以为列名或者列号,index_col=0、index_col="日期":
           股票0   股票1   股票2   股票3   股票4
日期                                    
2020/5/8  1.45  2.52 -1.82  1.86  4.50
2020/5/8  0.46  3.05 -5.54  3.26  2.17
2020/5/8 -5.05  1.55  0.22  0.53  1.63
2020/5/8  7.39  3.30  1.46  1.18  1.31
2020/5/8 -1.11  0.04  1.50 -3.21  1.58
...        ...   ...   ...   ...   ...
2020/5/8  3.23  2.18  2.46 -5.91  1.85
2020/5/8  1.73  3.41  1.46  1.71 -1.13
2020/5/8 -4.17 -4.04 -2.02  4.45  3.91
2020/5/8  5.57  2.89 -0.81  2.60 -1.68
2020/5/8 -2.09  5.27 -2.04  4.75  3.32

[10000 rows x 5 columns]

1.3读取指定列usecols

import pandas as pd

path = r'D:\exa5.csv'
print('读取指定列:')
df = pd.read_csv(path,usecols=['股票1','股票2'],encoding='ANSI')
print(df)

运行结果:

读取指定列:
       股票1   股票2
0     2.52 -1.82
1     3.05 -5.54
2     1.55  0.22
3     3.30  1.46
4     0.04  1.50
...    ...   ...
9995  2.18  2.46
9996  3.41  1.46
9997 -4.04 -2.02
9998  2.89 -0.81
9999  5.27 -2.04

[10000 rows x 2 columns]

1.4数据类型dtype

import pandas as pd
import numpy as np

path = r'D:\exa5.csv'
print('设置列数据类型:')
csv = pd.read_csv(path,dtype={'股票0':str,'股票2':np.float32},encoding='ANSI')
csv.info()

运行结果:

设置列数据类型:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 6 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   日期      10000 non-null  object 
 1   股票0     10000 non-null  object 
 2   股票1     10000 non-null  float64
 3   股票2     10000 non-null  float32
 4   股票3     10000 non-null  float64
 5   股票4     10000 non-null  float64
dtypes: float32(1), float64(3), object(2)
memory usage: 429.8+ KB

1.4读取转换为时间类型

import pandas as pd

path = r'D:\exa5.csv'
print('parse_dates=["日期"]转换为日期类型:')
csv = pd.read_csv(path,parse_dates=['日期'],encoding='ANSI')
csv.info()

运行结果:

parse_dates=["日期"]转换为日期类型:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 6 columns):
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   日期      10000 non-null  datetime64[ns]
 1   股票0     10000 non-null  float64       
 2   股票1     10000 non-null  float64       
 3   股票2     10000 non-null  float64       
 4   股票3     10000 non-null  float64       
 5   股票4     10000 non-null  float64       
dtypes: datetime64[ns](1), float64(5)
memory usage: 468.9 KB

1.4读取拆分单元格数据str.extract()

import pandas as pd

path = r'D:\job.csv'
csv = pd.read_csv(path,encoding='ANSI')
print('csv原始数据:')
print(csv)
print('*'*100)
print('拆分薪资列给新列,最低薪资和最高薪资列:')
csv[['最低薪资','最高薪资']] =csv['薪资'].str.extract(r'(\d+)-(\d+)')
print(csv)

运行结果:

csv原始数据:
               工作名       工作地区         公司名称        资历要求              薪资
0          web全栈开发  guangzhou      全域营销研究所     经验不限 大专   5500-15000元/月
1          web全栈开发  guangzhou      全域营销研究所     经验不限 大专   5500-15000元/月
2        初级后端开发工程师  guangzhou         阅酷科技   经验不限 学历不限     500-1500元/月
3        兼职安卓开发工程师   hangzhou         劲锐网络     3-5年 大专   8000-15000元/月
4        初级后端开发工程师   hangzhou         阅酷科技   经验不限 学历不限     500-1500元/月
5   .net core开发工程师   shanghai       上海鼎创集团     3-5年 本科    4000-8000元/月
6      java后端开发工程师   shanghai         有星科技    5-10年 本科    7000-8000元/月
7               C#   shanghai  上海育维信息科技...    5-10年 硕士  12000-15000元/月
8              PHP    chengdu          智甄宝   3-5年 学历不限  14000-15000元/月
9          安卓开发工程师    chengdu          智甄宝   3-5年 学历不限  14000-15000元/月
10          C#.net    chengdu          昊谦云     3-5年 大专   8000-10000元/月
11             C++    chengdu          智甄宝     3-5年 大专  14000-15000元/月
12          C#.net    chengdu          昊谦云     3-5年 大专   8000-10000元/月
13        PHP开发-兼职   shenzhen         嘉上物联     3-5年 大专  10000-15000元/月
14             PHP   shenzhen         星铠科技   经验不限 学历不限  12000-15000元/月
15        安卓开发兼职远程   shenzhen         深圳冠晨   经验不限 学历不限    6000-8000元/月
16     python 兼职开发   shenzhen        深圳懒蚂蚁   1-3年 学历不限  14000-15000元/月
17              C#       xian       陕西万辰博海    5-10年 本科   4000-10000元/月
18   Wordpress前端开发  zhengzhou       霄航电子商务     3-5年 大专    5000-7000元/月
19      兼职演示程序全栈开发  zhengzhou         彗零信息   经验不限 学历不限   3500-11000元/月
20       大数据讲师(兼职)  zhengzhou       达内教育集团     1-3年 大专   9000-12000元/月
21       大数据讲师(兼职)  zhengzhou       达内教育集团     1-3年 大专   9000-12000元/月
22    (Meta)医学数据分析  zhengzhou       沿长科学技术     1-3年 硕士   8000-15000元/月
23         前端开发工程师     xiamen         今日宇宙     3-5年 大专   5000-10000元/月
24         前端开发工程师     xiamen         今日宇宙     3-5年 大专   5000-10000元/月
25            QT开发     xiamen         劢联科技     3-5年 本科  14000-15000元/月
26    (Meta)医学数据分析     xiamen       沿长科学技术     1-3年 硕士   8000-15000元/月
27           全栈工程师     suzhou     迈杰转化医学研究     3-5年 本科   6000-12000元/月
28           全栈工程师     suzhou     迈杰转化医学研究     3-5年 本科   6000-12000元/月
29         后端开发工程师     suzhou          风向标     3-5年 大专  10000-15000元/月
30         后端开发工程师     suzhou          风向标     3-5年 大专  10000-15000元/月
31          临床数据分析     suzhou  沿长科技(成都)...     1-3年 硕士   8000-15000元/月
32    (meta)医学数据分析     suzhou       沿长科学技术     1-3年 硕士   8000-15000元/月
33      webgl开发工程师  chongqing    爱望IoTWANT     3-5年 大专  10000-11000元/月
34           软件工程师  chongqing         盛世科技     3-5年 大专  10000-15000元/月
35            Java  chongqing         德萍科技     3-5年 大专  10000-15000元/月
36           iOS开发     foshan      聚划算网络科技   1-3年 学历不限   7000-10000元/月
37         数据采集工程师    qingdao         青岛慧城   经验不限 学历不限  10000-15000元/月
38           全栈工程师    qingdao         华赢国富    5-10年 大专   5000-15000元/月
39            java    qingdao           创路     3-5年 大专   2000-15000元/月
40    区块链智能合约开发工程师    qingdao         华赢国富    5-10年 大专   7500-15000元/月
41        PHP兼职工程师    qingdao          掌讯通     1-3年 大专    3000-6000元/月
42           全栈工程师    qingdao         华赢国富    5-10年 大专   5000-15000元/月
43         闪送招聘配送员    qingdao           闪送   经验不限 学历不限    8000-8500元/月
44         数据采集工程师    qingdao         青岛慧城   经验不限 学历不限  10000-15000元/月
45         数据采集工程师    qingdao         青岛慧城   经验不限 学历不限  10000-15000元/月
46          数据录入兼职    qingdao    Real-Info     经验不限 大专    3500-4000元/月
47           全栈工程师    beijing        中交公规院  5-10年 学历不限    4000-4500元/月
48       Android开发   changsha           东明   经验不限 学历不限  12000-15000元/月
49       java全栈工程师   changsha          零一云   经验不限 学历不限    3000-8000元/月
50        小游戏开发工程师    tianjin  天津市宝坻区梦弘...     3-5年 大专   8000-15000元/月
51             PHP    tianjin         核桃科技     3-5年 本科    7500-8000元/月
****************************************************************************************************
拆分薪资列给新列,最低薪资和最高薪资列:
               工作名       工作地区         公司名称  ...              薪资   最低薪资   最高薪资
0          web全栈开发  guangzhou      全域营销研究所  ...   5500-15000元/月   5500  15000
1          web全栈开发  guangzhou      全域营销研究所  ...   5500-15000元/月   5500  15000
2        初级后端开发工程师  guangzhou         阅酷科技  ...     500-1500元/月    500   1500
3        兼职安卓开发工程师   hangzhou         劲锐网络  ...   8000-15000元/月   8000  15000
4        初级后端开发工程师   hangzhou         阅酷科技  ...     500-1500元/月    500   1500
5   .net core开发工程师   shanghai       上海鼎创集团  ...    4000-8000元/月   4000   8000
6      java后端开发工程师   shanghai         有星科技  ...    7000-8000元/月   7000   8000
7               C#   shanghai  上海育维信息科技...  ...  12000-15000元/月  12000  15000
8              PHP    chengdu          智甄宝  ...  14000-15000元/月  14000  15000
9          安卓开发工程师    chengdu          智甄宝  ...  14000-15000元/月  14000  15000
10          C#.net    chengdu          昊谦云  ...   8000-10000元/月   8000  10000
11             C++    chengdu          智甄宝  ...  14000-15000元/月  14000  15000
12          C#.net    chengdu          昊谦云  ...   8000-10000元/月   8000  10000
13        PHP开发-兼职   shenzhen         嘉上物联  ...  10000-15000元/月  10000  15000
14             PHP   shenzhen         星铠科技  ...  12000-15000元/月  12000  15000
15        安卓开发兼职远程   shenzhen         深圳冠晨  ...    6000-8000元/月   6000   8000
16     python 兼职开发   shenzhen        深圳懒蚂蚁  ...  14000-15000元/月  14000  15000
17              C#       xian       陕西万辰博海  ...   4000-10000元/月   4000  10000
18   Wordpress前端开发  zhengzhou       霄航电子商务  ...    5000-7000元/月   5000   7000
19      兼职演示程序全栈开发  zhengzhou         彗零信息  ...   3500-11000元/月   3500  11000
20       大数据讲师(兼职)  zhengzhou       达内教育集团  ...   9000-12000元/月   9000  12000
21       大数据讲师(兼职)  zhengzhou       达内教育集团  ...   9000-12000元/月   9000  12000
22    (Meta)医学数据分析  zhengzhou       沿长科学技术  ...   8000-15000元/月   8000  15000
23         前端开发工程师     xiamen         今日宇宙  ...   5000-10000元/月   5000  10000
24         前端开发工程师     xiamen         今日宇宙  ...   5000-10000元/月   5000  10000
25            QT开发     xiamen         劢联科技  ...  14000-15000元/月  14000  15000
26    (Meta)医学数据分析     xiamen       沿长科学技术  ...   8000-15000元/月   8000  15000
27           全栈工程师     suzhou     迈杰转化医学研究  ...   6000-12000元/月   6000  12000
28           全栈工程师     suzhou     迈杰转化医学研究  ...   6000-12000元/月   6000  12000
29         后端开发工程师     suzhou          风向标  ...  10000-15000元/月  10000  15000
30         后端开发工程师     suzhou          风向标  ...  10000-15000元/月  10000  15000
31          临床数据分析     suzhou  沿长科技(成都)...  ...   8000-15000元/月   8000  15000
32    (meta)医学数据分析     suzhou       沿长科学技术  ...   8000-15000元/月   8000  15000
33      webgl开发工程师  chongqing    爱望IoTWANT  ...  10000-11000元/月  10000  11000
34           软件工程师  chongqing         盛世科技  ...  10000-15000元/月  10000  15000
35            Java  chongqing         德萍科技  ...  10000-15000元/月  10000  15000
36           iOS开发     foshan      聚划算网络科技  ...   7000-10000元/月   7000  10000
37         数据采集工程师    qingdao         青岛慧城  ...  10000-15000元/月  10000  15000
38           全栈工程师    qingdao         华赢国富  ...   5000-15000元/月   5000  15000
39            java    qingdao           创路  ...   2000-15000元/月   2000  15000
40    区块链智能合约开发工程师    qingdao         华赢国富  ...   7500-15000元/月   7500  15000
41        PHP兼职工程师    qingdao          掌讯通  ...    3000-6000元/月   3000   6000
42           全栈工程师    qingdao         华赢国富  ...   5000-15000元/月   5000  15000
43         闪送招聘配送员    qingdao           闪送  ...    8000-8500元/月   8000   8500
44         数据采集工程师    qingdao         青岛慧城  ...  10000-15000元/月  10000  15000
45         数据采集工程师    qingdao         青岛慧城  ...  10000-15000元/月  10000  15000
46          数据录入兼职    qingdao    Real-Info  ...    3500-4000元/月   3500   4000
47           全栈工程师    beijing        中交公规院  ...    4000-4500元/月   4000   4500
48       Android开发   changsha           东明  ...  12000-15000元/月  12000  15000
49       java全栈工程师   changsha          零一云  ...    3000-8000元/月   3000   8000
50        小游戏开发工程师    tianjin  天津市宝坻区梦弘...  ...   8000-15000元/月   8000  15000
51             PHP    tianjin         核桃科技  ...    7500-8000元/月   7500   8000

[52 rows x 7 columns]

1.4.读取txt文件read_table()

import pandas as pd

path = r'D:\exa2.txt'
txt = pd.read_table(path)
print('txt原始数据:')
print(txt)
print('*'*100)
txt = pd.read_table(path,sep=r'\s+')
print(r'以正则\s+(至少一个空格)为分隔符,默认以\t分割:')
print(txt)

运行结果:

txt原始数据:
              A               B               C
0         a   -0.264438   -1.026059   -0.619500
1        b    0.927272    0.302904    -0.032399
2        c   -0.264273   -0.386314    -0.217601
3         d   -0.871858   -0.348382    1.100491
****************************************************************************************************
以正则\s+(至少一个空格)为分隔符,默认以\t分割:
          A         B         C
a -0.264438 -1.026059 -0.619500
b  0.927272  0.302904 -0.032399
c -0.264273 -0.386314 -0.217601
d -0.871858 -0.348382  1.100491

1.5读取大文件chunksize

import pandas as pd

path = r'D:\exa5.csv'
big_csv_data = pd.read_csv(path,chunksize=1000,encoding='ANSI')
print('big_csv_data可迭代大文件:')
print(big_csv_data)
print('*'*100)
#保存每次读取的df列表
chunks=[]
#迭代处理每个chunk
for chunk in big_csv_data:
    chunk = pd.DataFrame(chunk) #每次读取的数据转成df
    chunks.append(chunk) #保存转换成df的数据
csv = pd.concat(chunks,ignore_index=True) #把列表里面的df拼接起来就是所有的数据
print(csv)
print('*'*100)
print(csv.shape)

运行结果:

big_csv_data可迭代大文件:
<pandas.io.parsers.readers.TextFileReader object at 0x000002700FEA1910>
****************************************************************************************************
            日期   股票0   股票1   股票2   股票3   股票4
0     2020/5/8  1.45  2.52 -1.82  1.86  4.50
1     2020/5/8  0.46  3.05 -5.54  3.26  2.17
2     2020/5/8 -5.05  1.55  0.22  0.53  1.63
3     2020/5/8  7.39  3.30  1.46  1.18  1.31
4     2020/5/8 -1.11  0.04  1.50 -3.21  1.58
...        ...   ...   ...   ...   ...   ...
9995  2020/5/8  3.23  2.18  2.46 -5.91  1.85
9996  2020/5/8  1.73  3.41  1.46  1.71 -1.13
9997  2020/5/8 -4.17 -4.04 -2.02  4.45  3.91
9998  2020/5/8  5.57  2.89 -0.81  2.60 -1.68
9999  2020/5/8 -2.09  5.27 -2.04  4.75  3.32

[10000 rows x 6 columns]
****************************************************************************************************
(10000, 6)

1.6读取excel:read_excel()

import pandas as pd

path = r'D:\exa10.xlsx'
# 读取单个sheet
excel1 = pd.read_excel(path,sheet_name='股票')
print('读取单个sheet:')
print(excel1)
print('*'*80)
# 读取多个sheet,结果是一个字典,字典的value是df
print('读取多个sheet,结果是一个字典,字典的value是df:')
excel2 = pd.read_excel(path,sheet_name=['股票','评论'])
print(excel2)

运行结果:

读取单个sheet:
             日期   股票0   股票1   股票2   股票3   股票4
0    2020-05-08  1.45  2.52 -1.82  1.86  4.50
1    2020-05-08  0.46  3.05 -5.54  3.26  2.17
2    2020-05-08 -5.05  1.55  0.22  0.53  1.63
3    2020-05-08  7.39  3.30  1.46  1.18  1.31
4    2020-05-08 -1.11  0.04  1.50 -3.21  1.58
...         ...   ...   ...   ...   ...   ...
9995 2020-05-08  3.23  2.18  2.46 -5.91  1.85
9996 2020-05-08  1.73  3.41  1.46  1.71 -1.13
9997 2020-05-08 -4.17 -4.04 -2.02  4.45  3.91
9998 2020-05-08  5.57  2.89 -0.81  2.60 -1.68
9999 2020-05-08 -2.09  5.27 -2.04  4.75  3.32

[10000 rows x 6 columns]
********************************************************************************
读取多个sheet,结果是一个字典,字典的value是df:
{'股票':              日期   股票0   股票1   股票2   股票3   股票4
0    2020-05-08  1.45  2.52 -1.82  1.86  4.50
1    2020-05-08  0.46  3.05 -5.54  3.26  2.17
2    2020-05-08 -5.05  1.55  0.22  0.53  1.63
3    2020-05-08  7.39  3.30  1.46  1.18  1.31
4    2020-05-08 -1.11  0.04  1.50 -3.21  1.58
...         ...   ...   ...   ...   ...   ...
9995 2020-05-08  3.23  2.18  2.46 -5.91  1.85
9996 2020-05-08  1.73  3.41  1.46  1.71 -1.13
9997 2020-05-08 -4.17 -4.04 -2.02  4.45  3.91
9998 2020-05-08  5.57  2.89 -0.81  2.60 -1.68
9999 2020-05-08 -2.09  5.27 -2.04  4.75  3.32

[10000 rows x 6 columns], '评论':      姓名 性别  年龄         评论
0  lucy  女  20         很好
1  Jack  男  30  东西还行,就是太贵
2  Lily  女  35     还不错,好评}

1.7保存数据

保存数据的方法都是to_开头,比如to_csv()、to_excel()、to_sql()、to_html()等等

import pandas as pd

path = r'D:\exa10.xlsx'

print('保存数据:')
excel2 = pd.read_excel(path,sheet_name='评论')
print(excel2)
# 保存数据
excel2.to_excel(r'D:\zhangsan.xlsx',index=False)

运行结果:

保存数据:
     姓名 性别  年龄         评论
0  lucy  女  20         很好
1  Jack  男  30  东西还行,就是太贵
2  Lily  女  35     还不错,好评

2.连接mysql

2.1方法一:pymysql

import pandas as pd
import pymysql

#创建连接
conn = pymysql.connect(host='localhost',
                       user='root',
                       password='123456',
                       port=3306,
                       db='python_mysql',
                       charset='utf8')
print(conn)
print('*'*40)
sql = """
select * from pvuv
"""
#读取数据
df = pd.read_sql(sql,conn)
print(df)
print('*'*40)
df.info()

运行结果:

<pymysql.connections.Connection object at 0x000001D064DE1C50>
****************************************
  df = pd.read_sql(sql,conn)
        pdate     pv     uv
0  2019-08-01  100.0   81.0
1  2019-08-02  110.0   99.0
2  2019-08-03  120.0   77.0
3  2019-08-04  130.0   88.0
4  2019-08-05  120.0   97.0
5  2019-08-06  110.0   98.0
6  2019-08-07  140.0  110.0
7  2019-08-08  150.0  120.0
8  2019-08-09  190.0  100.0
9  2019-08-09  130.0  110.0
****************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   pdate   10 non-null     object 
 1   pv      10 non-null     float64
 2   uv      10 non-null     float64
dtypes: float64(2), object(1)
memory usage: 372.0+ bytes

2.2方法二:SQLALchemy

import pandas as pd
import sqlalchemy

# 创建数据库引擎
print('创建数据库引擎:')
engine = sqlalchemy.create_engine('mysql+pymysql://root:123456@localhost:3306/python_mysql?charset=utf8')
print(engine)
print('*'*40)
sql = """
select * from pvuv
"""
#读取数据库python_mysql里的数据表pvuv
print('读取数据库python_mysql里的数据表pvuv:')
df = pd.read_sql(sql,engine)
print(df)
print('*'*40)
df.info()

运行结果:

创建数据库引擎:
Engine(mysql+pymysql://root:***@localhost:3306/python_mysql)
****************************************
读取数据库python_mysql里的数据表pvuv:
        pdate     pv     uv
0  2019-08-01  100.0   81.0
1  2019-08-02  110.0   99.0
2  2019-08-03  120.0   77.0
3  2019-08-04  130.0   88.0
4  2019-08-05  120.0   97.0
5  2019-08-06  110.0   98.0
6  2019-08-07  140.0  110.0
7  2019-08-08  150.0  120.0
8  2019-08-09  190.0  100.0
9  2019-08-09  130.0  110.0
****************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   pdate   10 non-null     object 
 1   pv      10 non-null     float64
 2   uv      10 non-null     float64
dtypes: float64(2), object(1)
memory usage: 372.0+ bytes

3.写入mysql

import pandas as pd
#pip install SQLALchemy
import sqlalchemy

print('创建数据库引擎:')
engine = sqlalchemy.create_engine('mysql+pymysql://root:123456@localhost:3306/python_mysql?charset=utf8')
print(engine)
print('*'*40)
excel = pd.read_excel('D:\exa10.xlsx',sheet_name='评论',header=0)
print(excel)
excel.to_sql('excel_table',con=engine,if_exists='replace')

运行结果:

创建数据库引擎:
Engine(mysql+pymysql://root:***@localhost:3306/python_mysql?charset=utf8)
****************************************
     姓名 性别  年龄         评论
0  lucy  女  20         很好
1  Jack  男  30  东西还行,就是太贵
2  Lily  女  35     还不错,好评

4.读写html:read_html()和to_html()

import pandas as pd

# https://www.air-level.com/rank
# 此方法读取该网页所有表单,读取出来是个列表,用下标取值
print('读取出来是个列表,用下标取值:')
df = pd.read_html('https://www.air-level.com/rank')[0]
print(df)
print('写入html')
df.to_html(r'D:\天气.html')
print('写入成功!')

运行结果:

读取出来是个列表,用下标取值:
    排名    城市  AQI 空气质量等级
0    1    哈密  353   严重污染
1    2   石嘴山  230   重度污染
2    3   吐鲁番  189   中度污染
3    4    邵阳  189   中度污染
4    5    永州  181   中度污染
5    6    萍乡  177   中度污染
6    7    衡阳  174   中度污染
7    8    滨州  155   中度污染
8    9    娄底  153   中度污染
9   10    中卫  149   轻度污染
10  11    郴州  147   轻度污染
11  12   嘉峪关  147   轻度污染
12  13    酒泉  144   轻度污染
13  14  和田地区  144   轻度污染
14  15    银川  142   轻度污染
15  16    庆阳  140   轻度污染
16  17    固原  135   轻度污染
17  18    吉安  133   轻度污染
18  19    东营  131   轻度污染
19  20    大同  128   轻度污染
写入html
写入成功!

后续持续学习更新

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值