您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

Python Pandas 实现 Excel 的灵活操作

时间:2020-12-15 11:24:18  来源:  作者:
Python Pandas 实现 Excel 的灵活操作

 

示例 Excel 数据

我们以下面Excel 为例,演示Python/ target=_blank class=infotextkey>Python Pandas Excel操作。

Python Pandas 实现 Excel 的灵活操作

 

pd.read_excel的主要参数

  • io: excel文档路径。
  • sheetname : 读取的excel指定的sheet页,若多个则为列表。
  • header :设置读取的excel第一行是否作为列名称。
  • skiprows:省略指定行数的数据。
  • skip_footer:省略从尾部数的int行数据。
  • index_col:设置读取的excel第一列是否作为行名称。
  • names:设置每列的名称,数组形式参数。
  • usecols:读取指定的列, 也可以通过名字或索引值。

 

读取Excel文件

通过指定表单名的方式来读取,指定列的数据。

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])
print(excel)

加载的Excel数据类型为DataFrame,执行上述代码,输出结果为:

Python Pandas 实现 Excel 的灵活操作

 

普及一 下 DataFrame:

  • DataFrame这种列表式的数据结构和Excel工作表非常类似,其设计初衷是将Series的使用场景由一维扩展到多维。DataFrame由按一定顺序的多列数据组成,各列的数据类型可以有所不同(数值、字符串、布尔值)。
  • Series对象的Index数组存放有每个元素的标签,而DataFrame对象有所不同,它有两个索引数组。第一个索引数组与行有关,它与Series的索引数组极为相似。 每个标签与标签所在行的所有元素相关联。而第二个数组包含一系列标签,每个标签与一列数据相关联。
  • DataFrame还可以理解为一个由Series组成的字典,其中每一列的列名为字典的键,每一个Series作为字典的值。

使用 iloc 从DataFrame中筛选数据

iloc 语法

 data.iloc[<row selection>, <column selection>]

iloc 在Pandas中是用来通过数字来选择数据中具体的某些行和列。可以设想每一行都有一个对应的下标(0,1,2,...),通过 iloc 我们可以利用这些下标去选择相应的行数据。同理,对于行也一样,通过这些下标也可以选择相应的列数据。需要注意的是0表示第一行,并不包含表头。

选择单行或单列

选择数据中的第一行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])
# 选择第1行数据
print(excel.iloc[0])

# 执行上述代码,输出结果为:
时间            2020-10-12 20:49:06
产品名称       【拍卖交易】25000万金=362.25元 
收购比例                        69.01
收购金额RMB                    362.25
收购金币数量                      25000
Name: 0, dtype: object

Process finished with exit code 0

选择数据中的最后一行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])
# 选择第1行数据
print(excel.iloc[-1])

选择数据中的第一列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])
# 选择第1行数据
print(excel.iloc[:, 0])  

# 执行上述代码,输出结果为:
0    2020-10-12 20:49:06
1    2020-10-12 20:42:15
2    2020-10-12 22:26:30
3    2020-10-13 19:48:59
4    2020-10-12 20:55:08
5    2020-10-12 20:53:32
6    2020-10-12 20:58:14
7    2020-10-12 21:00:16
8    2020-10-12 21:57:05
9    2020-10-12 21:56:04
Name: 时间, dtype: object

Process finished with exit code 0

 

选择数据中的最后一列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])
# 选择第1行数据 
print(excel.iloc[:, -1])  

行列混合选择

选择数据中的第 1-3 行的所有列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])
# 数据中的第 1-3 行 所有列
print(excel.iloc[0:3])

# 执行上述代码,输出结果为:

         时间                     产品名称             收购比例  收购金额RMB  收购金币数量
0  2020-10-12 20:49:06   【拍卖交易】25000万金=362.25元   69.01   362.25   25000
1  2020-10-12 20:42:15      【拍卖交易】50000万金=725元   68.97   725.00   50000
2  2020-10-12 22:26:30  【拍卖交易】120000万金=1741.2元   68.92  1741.20  120000

Process finished with exit code 0

选择数据中的前2列的所有行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择数据中的前2列的所有行
print(excel.iloc[:, 0:2])

选择第 0, 2, 4行 和 第 1,3 列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择第 0, 2, 4行 和 第 1,3 列
print(excel.iloc[[0, 2, 4], [1, 3]])

选择第0-3行 的 0-2列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择第0-3行 的 0-2列
print(excel.iloc[0:3, 0:2])

使用iloc只选择了单独的一行或一列,返回的数据为 Series 类型,而如果选择了多行数据则会返回 DataFrame 类型,若只选择了一行,但需要要返回 DataFrame 类型,可以传入一个单值列表,如[1],如下:

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 行选择:数据中的第一行
print(excel.iloc[[0] ])
# 列选择: 数据中的第二列
print(excel.iloc[:, [1] ]) 

 

使用 loc 从DataFrame中筛选数据

data.loc[<row selection>, <column selection>]

ioc 用于以下两种场景:

  • 使用 下标 查找
  • 使用 条件 查找

使用 下标 查找

选择数据中的第一行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 数据中的第一行
print(excel.loc[[1]])

选择数据中的前两行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 数据中的第1、第1行
print(excel.loc[[1, 2]])

# 执行上述代码,输出结果为:

       时间                     产品名称              收购比例  收购金额RMB  收购金币数量
1  2020-10-12 20:42:15      【拍卖交易】50000万金=725元   68.97    725.0   50000
2  2020-10-12 22:26:30  【拍卖交易】120000万金=1741.2元   68.92   1741.2  120000

选择第1到3行的 “时间”、“收购比例” 列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择第1到3行的 “时间”、“收购比例” 列
print(excel.loc[1: 3, ['时间','收购比例']])

# 执行上述代码,输出结果为:
              时间   收购比例
1  2020-10-12 20:42:15  68.97
2  2020-10-12 22:26:30  68.92
3  2020-10-13 19:48:59  69.23

选择第1、2行的 "时间" 到 "收购比例" 列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 数据中的第1、第1行
print(excel.loc[[1, 2], '时间':'收购比例' ])

# 执行上述代码,输出结果为:
                    时间                     产品名称   收购比例
1  2020-10-12 20:42:15      【拍卖交易】50000万金=725元   68.97
2  2020-10-12 22:26:30  【拍卖交易】120000万金=1741.2元   68.92

需要注意excel.loc[[1]] 不等价于 excel.iloc[[1]],前者是选择 索引为1 的行,而后者是选择第1行,DataFrame的索引可以是数字或者是字符串。

 

使用逻辑判断选择数据

选择“收购比例”列等于69.01的 “时间”列到 “收购比例” 列的数据

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择“收购比例”列等于69.01的 “时间”列到 “收购比例” 列的数据
print(excel.loc[excel['收购比例'] == 69.01 ,'时间':'收购比例'])

# 执行上述代码,输出结果为:

                    时间                    产品名称   收购比例
0  2020-10-12 20:49:06  【拍卖交易】25000万金=362.25元   69.01
9  2020-10-12 21:56:04  【拍卖交易】19500万金=282.55元   69.01

同样,如果只选择了某一列,返回的数据是 Series 类型,若只选择了一行,但需要要返回 DataFrame 类型,可以传入一个单值列表,如[1]。

选择 “产品名称”列 的值中是以 "【拍卖交易】" 开头的行的所有列

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择 “产品名称”列 的值中是以 "【拍卖交易】" 开头的行的所有列
print(excel.loc[excel['产品名称'].str.startswith("【拍卖交易】")])

# 执行上述代码,输出结果为:

             时间                     产品名称        收购比例  收购金额RMB  收购金币数量
0  2020-10-12 20:49:06   【拍卖交易】25000万金=362.25元   69.01   362.25   25000
1  2020-10-12 20:42:15      【拍卖交易】50000万金=725元   68.97   725.00   50000
2  2020-10-12 22:26:30  【拍卖交易】120000万金=1741.2元   68.92  1741.20  120000
3  2020-10-13 19:48:59     【拍卖交易】90000万金=1300元   69.23  1300.00   90000
6  2020-10-12 20:58:14      【拍卖交易】50000万金=726元   68.87   726.00   50000
9  2020-10-12 21:56:04   【拍卖交易】19500万金=282.55元   69.01   282.55   19500
        

选择"收购金币数量" 等于[25000, 50000]值的行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择"收购金币数量" 等于[25000, 50000]值的行
print(excel.loc[excel['收购金币数量'].isin([25000, 50000])])


# 执行上述代码,输出结果为:

                 时间                    产品名称   收购比例  收购金额RMB  收购金币数量
0  2020-10-12 20:49:06  【拍卖交易】25000万金=362.25元   69.01   362.25   25000
1  2020-10-12 20:42:15     【拍卖交易】50000万金=725元   68.97   725.00   50000
6  2020-10-12 20:58:14     【拍卖交易】50000万金=726元   68.87   726.00   50000
        

选择 收购比例 = 69.01 并且 产品名称 是以 "【拍卖交易】"开头的行

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择 收购比例 = 69.01 并且 产品名称 是以 "【拍卖交易】"开头的行
print(excel.loc[excel['产品名称'].str.startswith("【拍卖交易】")
                & (excel['收购比例'] == 69.01)])

# 执行上述代码,输出结果为:

                  时间                    产品名称   收购比例  收购金额RMB  收购金币数量
0  2020-10-12 20:49:06  【拍卖交易】25000万金=362.25元   69.01   362.25   25000
9  2020-10-12 21:56:04  【拍卖交易】19500万金=282.55元   69.01   282.55   19500
        

 

利用Apply的lambda函数判断符合条件的行,如下选择 时间 列中20点的所有数据。

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

# 选择 时间 列中20点的所有数据
print(excel.loc[
          excel['时间']
          .apply(lambda x: x.split()[1].split(":")[0] == '20')
      ])

# 执行上述代码,输出结果为:

                时间                    产品名称   收购比例  收购金额RMB  收购金币数量
0  2020-10-12 20:49:06  【拍卖交易】25000万金=362.25元   69.01   362.25   25000
1  2020-10-12 20:42:15     【拍卖交易】50000万金=725元   68.97   725.00   50000
4  2020-10-12 20:55:08      【当面交易】8000万金=116元   68.97   116.00    8000
5  2020-10-12 20:53:32     【邮寄交易】10000万金=144元   69.44   144.00   10000
6  2020-10-12 20:58:14     【拍卖交易】50000万金=726元   68.87   726.00   50000

利用apply的lambda函数判断符合条件的行的'时间', '产品名称' 列。

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

idx = excel['时间'].apply(lambda x: x.split()[1].split(":")[0] == '20')

# 只选择 idx 值为True的那些行,并且只选择'时间', '产品名称'列
print(excel.loc[idx, ['时间', '产品名称']])

# 执行上述代码,输出结果为:
                    时间                    产品名称
0  2020-10-12 20:49:06  【拍卖交易】25000万金=362.25元 
1  2020-10-12 20:42:15     【拍卖交易】50000万金=725元 
4  2020-10-12 20:55:08      【当面交易】8000万金=116元 
5  2020-10-12 20:53:32     【邮寄交易】10000万金=144元 
6  2020-10-12 20:58:14     【拍卖交易】50000万金=726元 

Pandas中 apply、 applymap、 map 的区别:

  • map仅是Series中的函数 ,map将函数应用于Series中的每一个元素。
  • apply和applymap是仅是DataFrame 中的函数。
  • apply 将函数作用于DataFrame中的每一个行或者列。
  • applymap会将函数作用于DataFrame中的 每一个元素。

写 Excel 文件

Pandas可以写入一个或者多个工作簿,两种方法介绍如下:

将一个DafaFrame写入Excel

调用 to_excel() 方法即可实现,示例代码如下:

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

idx = excel['时间'].apply(lambda x: x.split()[1].split(":")[0] == '20')

# 只选择 idx 值为True的那些行,并且只选择'时间', '产品名称'列
data = excel.loc[idx, ['时间', '产品名称']]

# 将数据写入 新的 文件中
data.to_excel("数据爬取-筛选结果.xlsx", index=False)

 

多个数据写入多个excel的工作簿

这时需要调用通过 ExcelWriter() 方法打开一个已经存在的excel表格作为writer,然后通过to_excel()方法将需要保存的数据逐个写入excel,最后关闭writer。

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

idx = excel['时间'].apply(lambda x: x.split()[1].split(":")[0] == '20')

# 存储sheet 与对应DataFrame数据
sheet_dict = {}
# 只选择 idx 值为True的那些行,并且只选择'时间', '产品名称'列
data1 = excel.loc[idx, ['时间', '产品名称']]

sheet_dict["sheet_name_1"] = data1

# 只选择 idx 值为True的那些行,并且只选择'时间', '收购比例'列
data2 = excel.loc[idx, ['时间', '收购比例']]
sheet_dict["sheet_name_2"] = data2

# 创建ExcelWriter对象
writer = pd.ExcelWriter("数据爬取-筛选结果.xlsx")

# 遍历所有sheet以及对应 DataFrame数据
for sheet_name, data in sheet_dict.items():
    # 将数据写入对应sheet中
    data.to_excel(writer, sheet_name=sheet_name,index=False)
# 如果省略该语句,则数据不会写入到上边创建的excel文件中
writer.save()

 


此外,我们也需要知道如何创建DataFrame数据的方式,如下:

由 列表 创建 DataFrame

import pandas as pd

test_list = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
# 创建DataFrame,并指定列名,不指定默认索引值
d1 = pd.DataFrame(test_list,columns=["学号","年龄","班级"])

print(d1)

# 将数据写入 新的 文件中
d1.to_excel("test.xlsx", index=False)

由字典创建 DataFrame

import pandas as pd

test_dict = pd.DataFrame({
    '学号': [1, 2, 3, 4],
    '年龄': [5, 6, 7, 8],
    '班级': [9, 10, 11, 12]
})
# 创建DataFrame,通过 columns 筛选 test_dict 的数据
d1 = pd.DataFrame(test_dict, columns=["学号","年龄"])

print(d1)

# 将数据写入 新的 文件中
d1.to_excel("数据爬取-筛选结果.xlsx", index=False)

 

扩展: 如何 在Pandas中遍历 DataFrame数据的行

推荐以 Pandas 的方式迭代遍历DataFrame的行,可以使用:

DataFrame.iterrows()

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

idx = excel['时间'].apply(lambda x: x.split()[1].split(":")[0] == '20')

# 只选择 idx 值为True的那些行,并且只选择'时间', '产品名称'列
data = excel.loc[idx, ['时间', '产品名称']]

for index, row in data.iterrows():
    print(index, row["时间"], row["产品名称"])
    
    
# 执行上述代码,输出结果为:
0 2020-10-12 20:49:06 【拍卖交易】25000万金=362.25元 
1 2020-10-12 20:42:15 【拍卖交易】50000万金=725元 
4 2020-10-12 20:55:08 【当面交易】8000万金=116元 
5 2020-10-12 20:53:32 【邮寄交易】10000万金=144元 
6 2020-10-12 20:58:14 【拍卖交易】50000万金=726元 
        

DataFrame.itertuples()

快于.iterrows(),但将索引与行项目一起返回,row[0]是索引,如果它们是无效的Python标识符,重复或以下划线开头,列名称将被重命名为位置名称。

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
              sheet_name='金币跌涨追踪记录',
              usecols=["时间","产品名称","收购比例","收购金额RMB","收购金币数量"])

idx = excel['时间'].apply(lambda x: x.split()[1].split(":")[0] == '20')

# 只选择 idx 值为True的那些行,并且只选择'时间', '产品名称'列
data = excel.loc[idx, ['时间', '产品名称']]

for row in data.itertuples():
    print(getattr(row, "时间"),getattr(row, "产品名称"))
    # 或者通过索引方式获取
    print(row[1],row[2])
    

其他方式

也可以使用df.apply()遍历行并访问函数的多个列。

DataFrame.apply()

import pandas as pd

excel = pd.read_excel('数据爬取-金币涨跌追踪.xlsx',
                      sheet_name='金币跌涨追踪记录',
                      usecols=["时间", "产品名称", "收购比例", "收购金额RMB", "收购金币数量"])

idx = excel['时间'].apply(lambda x: x.split()[1].split(":")[0] == '20')

# 只选择 idx 值为True的那些行,并且只选择'收购金币数量', '收购比例'列
data = excel.loc[idx, ['收购金币数量', '收购比例']]

# 定义一个函数 
def pay_rmb(number, rate):
    """
    计算 收购金币数量/ 换算比例 = 花费rmb数量
    """
    return number / rate

# 增加收购金额RMB列,并通过遍历每一行 对该列赋值
data['收购金额RMB'] = data.apply(lambda row: pay_rmb(row['收购金币数量'], row['收购比例']), axis=1)

print(data)

# 执行上述代码,输出结果为
   收购金币数量   收购比例     收购金额RMB
0   25000  69.01  362.266338
1   50000  68.97  724.952878
4    8000  68.97  115.992460
5   10000  69.44  144.009217
6   50000  68.87  726.005518


Tags:Python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1、让我们一起来看下吧,直接上图。 第一眼看到是不是觉得很高逼格,暗黑画风,这很大佬。其实它就是------AidLearning。一个运行在安卓平台的linux系统,而且还包含了许多非常强大...【详细内容】
2022-07-15  Tags: Python  点击:(2)  评论:(0)  加入收藏
真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天说的这个软件是一款基于Python+vue的自动化运维、完全开源的云管理平台。二、实现功能 基于RBAC权限系统 录像回放 ...【详细内容】
2022-07-14  Tags: Python  点击:(3)  评论:(0)  加入收藏
前言今天笔者想和大家来聊聊python接口自动化的MySQL数据连接,废话不多说咱们直接进入主题吧。 一、什么是 PyMySQL?PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,P...【详细内容】
2022-07-11  Tags: Python  点击:(19)  评论:(0)  加入收藏
aiohttp什么是 aiohttp?一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块。可用于实现异步爬虫,更快于 requests 的同步爬虫。安装pip install aiohttpaiohttp 和 r...【详细内容】
2022-07-11  Tags: Python  点击:(15)  评论:(0)  加入收藏
今天我们学习下 Queue 的进阶用法。生产者消费者模型在并发编程中,比如爬虫,有的线程负责爬取数据,有的线程负责对爬取到的数据做处理(清洗、分类和入库)。假如他们是直接交互的,...【详细内容】
2022-07-06  Tags: Python  点击:(34)  评论:(0)  加入收藏
继承:是面向对象编程最重要的特性之一,例如,我们每个人都从祖辈和父母那里继承了一些体貌特征,但每个人却又不同于父母,有自己独有的一些特性。在面向对象中被继承的类是父类或基...【详细内容】
2022-07-06  Tags: Python  点击:(25)  评论:(0)  加入收藏
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍。本文1553字,阅读约需4分钟 Hi,大家好,我是CoCo。在上一篇Python自动化测试系列文章:Python自动化测试之P...【详细内容】
2022-07-05  Tags: Python  点击:(27)  评论:(0)  加入收藏
第一种方式:res = requests.get(url, params=data, headers = headers)第二种方式:res = requests.get(url, data=data, headers = headers)注意:1.url格式入参只支持第一种方...【详细内容】
2022-07-05  Tags: Python  点击:(19)  评论:(0)  加入收藏
什么是python类的多态python的多态,可以为不同的类实例,或者说不同的数据处理方式,提供统一的接口。用比喻的方式理解python类的多态比如,同一个苹果(统一的接口)在孩子的眼里(类实...【详细内容】
2022-07-04  Tags: Python  点击:(28)  评论:(0)  加入收藏
假设某日我开了一家空调公司,暂且就叫他天强空调安装设备公司吧,假装自己有公司,接了一单大生意,就是给甘肃省的各个高校安装空调(其实这边的气候基本用不到空调,就是假想一下),那么...【详细内容】
2022-07-01  Tags: Python  点击:(33)  评论:(0)  加入收藏
▌简易百科推荐
近几年 Web3 被炒得火热,但是大部分人可能还不清楚什么是 Web3,今天就让w3cschool编程狮小师妹带你了解下 Web3 是什么?与我们熟知的 Web1 和 Web2 又有什么区别呢?web3.0什么是...【详细内容】
2022-07-15  编程狮W3Cschool    Tags:Web3.0   点击:(2)  评论:(0)  加入收藏
1、让我们一起来看下吧,直接上图。 第一眼看到是不是觉得很高逼格,暗黑画风,这很大佬。其实它就是------AidLearning。一个运行在安卓平台的linux系统,而且还包含了许多非常强大...【详细内容】
2022-07-15  IT智能化专栏    Tags:AidLearning   点击:(2)  评论:(0)  加入收藏
真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天说的这个软件是一款基于Python+vue的自动化运维、完全开源的云管理平台。二、实现功能 基于RBAC权限系统 录像回放 ...【详细内容】
2022-07-14  菜鸟程序猿    Tags:Python   点击:(3)  评论:(0)  加入收藏
前言今天笔者想和大家来聊聊python接口自动化的MySQL数据连接,废话不多说咱们直接进入主题吧。 一、什么是 PyMySQL?PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,P...【详细内容】
2022-07-11  测试架构师百里    Tags:python   点击:(19)  评论:(0)  加入收藏
aiohttp什么是 aiohttp?一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块。可用于实现异步爬虫,更快于 requests 的同步爬虫。安装pip install aiohttpaiohttp 和 r...【详细内容】
2022-07-11  VT漫步    Tags:aiohttp   点击:(15)  评论:(0)  加入收藏
今天我们学习下 Queue 的进阶用法。生产者消费者模型在并发编程中,比如爬虫,有的线程负责爬取数据,有的线程负责对爬取到的数据做处理(清洗、分类和入库)。假如他们是直接交互的,...【详细内容】
2022-07-06  VT漫步    Tags:Python Queue   点击:(34)  评论:(0)  加入收藏
继承:是面向对象编程最重要的特性之一,例如,我们每个人都从祖辈和父母那里继承了一些体貌特征,但每个人却又不同于父母,有自己独有的一些特性。在面向对象中被继承的类是父类或基...【详细内容】
2022-07-06  至尊小狸子    Tags:python   点击:(25)  评论:(0)  加入收藏
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍。本文1553字,阅读约需4分钟 Hi,大家好,我是CoCo。在上一篇Python自动化测试系列文章:Python自动化测试之P...【详细内容】
2022-07-05  CoCo的软件测试小栈    Tags:Python   点击:(27)  评论:(0)  加入收藏
第一种方式:res = requests.get(url, params=data, headers = headers)第二种方式:res = requests.get(url, data=data, headers = headers)注意:1.url格式入参只支持第一种方...【详细内容】
2022-07-05  独钓寒江雪之IT    Tags:Python request   点击:(19)  评论:(0)  加入收藏
什么是python类的多态python的多态,可以为不同的类实例,或者说不同的数据处理方式,提供统一的接口。用比喻的方式理解python类的多态比如,同一个苹果(统一的接口)在孩子的眼里(类实...【详细内容】
2022-07-04  写小说的程序员    Tags:python类   点击:(28)  评论:(0)  加入收藏
站内最新
站内热门
站内头条