在 Python 中,想去读写 Excel 文件的方式,有蛮多种方式的,比如说可以用 xlrd、openpyxl、pandas 等模块都能去实现,只是说在不同的模块上去读写稍有区别。
我自己喜欢使用 pandas,它足够强大。
01 Pandas 是什么?
Pandas 是一个开源的第三方 Python 库,基于 Numpy 和 Matplotlib 上构建而来,业内数据分析主流方向【三件套】(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它作为强大、灵活、可以支持任何编程语言的数据分析工具,颇受大家的喜爱。
02 安装 Pandas
第一种方式(推荐):
打开终端,输入:pip install pandas 命令即可安装。
第二种方式:
找到 Pandas 的下载库:https://www.lfd.uci.edu/~gohlke/pythonlibs/
然后下载自己想要的版本。
03 将数据写入 Excel 文件
Excel 就是一个表格,它里面有【行】和【列】,这是我们需要重点关注的两个地方,不管是读数据,还是写数据,其实就是在操作行和列。
非常简单的,咱们来实现一个简单的【用户表】,大致思路是这样的:
- 先导入 pandas 库
- 准备数据,并创建一个工作表
- 自定义索引(我故意加的)
- 将数据写到 excel 表格中(此处会自动创建 excel 文件)
具体代码如下:
import pandas as pd
df = pd.DataFrame({
'id':[1,2,3],
'name':['张三', '李四', '王五'],
'age':[22, 33, 44]
})
df = df.set_index('id')
print(df)
df.to_excel('people.xlsx')
print('Done!')
04 从 Excel 中读取数据
有个前提,你得先有一份 excel 文件,千万不要太紧张给忘了。
就一个重点方法:read_excel()
你可以指定读哪个文件?读哪个工作表?从哪行开始读?……
咱们,还是看代码吧,非常简单:
user= pd.read_excel('user.xlsx', header=3, sheet_name='sheet1')
print(user.columns)
user= pd.read_excel('user.xlsx', header=None)
user.columns = ['id', 'name', 'age']
print(user.columns)
user = pd.read_excel('user.xlsx', index_col='id')
print(user.head())
users = pd.read_excel('user.xlsx', skiprows = 3, usecols='E:H', dytpe={'ID':str, 'gender':str, 'birthday':str})
users.sort_values(by='age', ascending=False, inplace=True)
|