(一)pandas读取excel数据

import pandas
xlsfile = pandas.read_excel('config.xlsx') #默认读取excel中的第一个sheet表,所有列
data = xlsfile.values.tolist()#将字典转换成列表
print(data)

输出结果:

[[1, '注册模块', '注册成功', 'POST', 'http://api.nnzhp.cn/api/user/user_reg', 'yingcr10', 'Ace123456', 'Ace123456', ' {\n    "name": "Peter",\n    "age": 29,\n    "addr": "BeiJing"\n  }'], [2, '注册模块', '用户名长度小于6位,注册失败', 'POST', 'http://api.nnzhp.cn/api/user/user_reg', 'yingcr', 'Ace123457', 'Ace123457', ' {\n    "name": "Peter",\n    "age": 29,\n    "addr": "BeiJing"\n  }']]

说明:

xlsfile = pandas.read_excel('config.xlsx', usecols=['username','id'])#usecols-读取指定列
data=xlsfile.values.tolist()和data=list(xlsfile)这两种写法的区别在于返回的数据类型不同。

xlsfile.values.tolist()的返回值是一个二维列表,每一行数据都是一个列表,例如:

```python
import pandas as pd

data = pd.read_excel('data.xlsx')
data_list = data.values.tolist()
print(data_list)
```

输出结果为:

```
[[1, 'Tom', 20], [2, 'Jerry', 22], [3, 'Alice', 21]]
```

而list(xlsfile)的返回值是一个包含所有行数据的元组,每一行数据都是一个pandas Series对象,例如:

```python
import pandas as pd

data = pd.read_excel('data.xlsx')
data_list = list(data)
print(data_list)
```

输出结果为:

```
[0    1
1  Tom
2   20
Name: 0, dtype: object, 0       2
1    Jerry
2       22
Name: 1, dtype: object, 0       3
1    Alice
2       21
Name: 2, dtype: object]
```

可以通过遍历每一个Series对象,再将它们转换成列表,来得到一个二维列表。例如:

```python
import pandas as pd

data = pd.read_excel('data.xlsx')
data_list = []
for row in data.itertuples():
    data_list.append(list(row)[1:])
print(data_list)
```

输出结果和第一个例子相同:

```
[[1, 'Tom', 20], [2, 'Jerry', 22], [3, 'Alice', 21]]

 

posted @ 2023-04-19 15:17  小小生Sir  阅读(188)  评论(0编辑  收藏  举报