python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python Pandas读写Excel

Python调用Pandas实现Excel读取

作者:Python编程学习圈

这篇文章主要为大家介绍了在Python中如何调用Pandas实现Excel文件的读取,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

开头先BB两句

基本上来说,每周五写的周报都是这个套路。

突然想用Python智能化办公,修改Excel表格。

先不考虑,合并单元格,修改表格样式的操作。就先做个简单的读写。

操作过程

安装Python

工欲善其事必先利其器,首先做好准备工作,开发环境必不可少。

直接官网下载安装包,我使用的是3.6.5版本。下载安装后,配置环境变量。

开发工具,我就直接用的vscode,安装了一个python插件。

按住 ctl + alt + P 设置Python选择解释器即可。

Pandas官网地址

Pandas中文文档

Pandas安装包

pandas处理 Exce l需要 xlrd、openpyxl 依赖包

pip install pandas
pip install xlrd
pip install openpyxl

上手使用

正如官网所示,使用方法,就像1、2、3 一样简单

# 1、安装包
$ pip install pandas

# 2、进入python的交互式界面
$ python -i

# 3、使用Pandas
>>> import pandas as pd
>>> df = pd.DataFrame() 
>>> print(df)

# 4、输出结果
Empty DataFrame
Columns: []
Index: []

创建Excel,写入数据

import  pandas  as pd
from pandas import DataFrame

#创建DataFrame可以用下面字典,也可以用数组ndarray
dic = {'标题列1': ['malena','morgan'],
        '标题列2': [36, 34]
       }
df = pd.DataFrame(dic)
df.to_excel('write_test.xlsx', index=False)

执行py文件,成功写入,感觉就是非常的奈斯。

引入pandas DataFrame对象

import pandas as pd
from pandas import DataFrame

写入 Excel 文件,官方示例:

df.to_excel('foo.xlsx', sheet_name='Sheet1')

读取 Excel 文件,官方示例:

 pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

这里有个小坑:

原因是最近xlrd更新到了2.0.1版本,只支持.xls文件。所以pandas.read_excel(‘xxx.xlsx’)会报错。

可以安装旧版xlrd,在cmd中运行:

pip uninstall xlrd
pip install xlrd==1.2.0

也可以用openpyxl代替xlrd打开.xlsx文件:

df=pandas.read_excel(‘data.xlsx',engine=‘openpyxl')

读取Excel文件,并且打印出来

data = pd.read_excel('zmy-weekly.xlsx', sheet_name='3月', engine='openpyxl')
print(data)

打印结果如下图所示:

通过修改 data.loc 的值,改变数据。data.loc 可以粗浅的理解为是一个二维数组,对应每一行每一列的单元格。

譬如,将“工作事项2”修改为“工作事项5”,对应的单号格,第3行,第2列

 data.loc[3][2] = '工作事项5';

修改完成,最后写入新的Excel表格,可以设置sheet_name,譬如设置为“3月”。

 DataFrame(data).to_excel('new.xlsx', sheet_name='3月', index=False, header=True)

完整代码

import pandas as pd
from pandas import DataFrame

# 3.8.2 pandas读写Excel
def write_weekly():
    data = pd.read_excel('zmy-weekly.xlsx', sheet_name='3月', engine='openpyxl')
    print(data)

    print(data.loc)

    data.loc[2][0] = '3月5周';
    data.loc[2][2] = '工作事项4';
    data.loc[3][2] = '工作事项5';
    data.loc[4][2] = '工作事项6';

    data.loc[2][4] = '已完成';
    data.loc[3][4] = '已完成';
    data.loc[4][4] = '已完成';

    data.loc[5][2] = '又是一个临时工作';


    data.loc[6][0] = '4月1周';

    data.loc[6][2] = '工作事项7';
    data.loc[7][2] = '工作事项8';

    data.loc[6][4] = '进行中';
    data.loc[7][4] = '进行中';

    # # 保存数据
    DataFrame(data).to_excel('new.xlsx', sheet_name='3月', index=False, header=True)


write_weekly();

样式不一样,但是问题不大。打开上周的周报,全选,然后格式刷,点击新增的周报,啊哈。

到此这篇关于Python调用Pandas实现的文章就介绍到这了,更多相关Python Pandas读写Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文