快速介绍
在大多数情况下,处理大量的数据需要进行一些操作,以使其对普通用户来说更容易阅读。你如何完成这个任务呢? 不用再找了!Python的 [openpyxl](https://openpyxl.readthedocs.io/en/stable/ "https://openpyxl.readthedocs.io/en/stable/")库提供了产生一个格式良好的 Excel 电子表格的工具。
- 自定义标题和/或副标题。
- 格式化的列和/或行。
- 排序的数据。
- 简单/复杂的计算,以及更多,更多。
Excel电子表格是用户友好型的,不需要广泛的软件知识来执行手头的任务。
下面是一个文本文件的内容。这个文件包含了著名 爵士乐手的样本,他们的净资产是虚构的。
First,Last,Birth Year,Birth State,Birth Country,Instrument,Est. Worth
Miles,Davis,1926,Illinois,USA,Trumpet,1343500
Duke,Ellington,1899,Washington,USA,Piano,1911400
John,Coltrane,1926,North Carolina,USA,Saxophone,2575500
Dizzy,Gilespie,1917,South Carolina,USA,Trumpet,3690300
Ella,Fitzgerald,1917,Virgina,USA,Singer,8275780
Count,Basie,1904,New Jersey,USA,Piano,5145800
Fats,Waller,1904,New York,USA,Piano,3250930
Oscar,Peterson,1925,Montreal,CDA,Piano,7670945
Charlie,Parker,1920,Kansas City,USA,Saxophone,4375395
Billie,Holiday,1915,Philadelphia,USA,Singer,1560454
如何在Python中保存数据到CSV?
当前格式的文本文件不能直接保存到Excel。有一个中间步骤:将文本保存为CSV文件。
为了完成上面的文本输出,请执行以下步骤:
- 使用鼠标,选中所有的爵士乐手(包括标题行)。
- 在键盘上,按CTRL+C组合键(复制数据到剪贴板)。
- 创建一个空的CSV文件(使用文本编辑器,如记事本)。
- 打开并激活新的CSV文件,按CTRL+V组合键(从剪贴板粘贴数据)。
- 将该文件作为 "j-greats.csv"保存在当前工作目录中。
与Excel一起工作的Python库
在进行任何数据处理之前,需要安装两个新的库。第一个库 (openpyxl) 提供了Python对Excel的访问。第二个库 ([pandas](https://blog.finxter.com/pandas-quickstart/ "10 Minutes to Pandas (in 5 Minutes)")) 实现了从CSV到Excel的转换。
- openpyxl库
- pandas库
要安装这些库,请导航到IDE 终端。在命令提示符()。你的终端提示符可能不同。
安装openpyxl
$ pip install openpyxl
点击键盘上的键,开始安装过程。
$ pip install pandas
按键盘上的键,开始安装过程。
如果安装成功,终端上会显示一条信息,表明这一点。
如何在Python中转换和保存CSV到Excel文件?
在继续前进之前,先前保存的CSV需要转换为Excel。这个转换的步骤在下面几行代码中。
import pandas as pd
read_file = pd.read_csv ('j-greats.csv')
read_file.to_excel ('j-greats.xlsx', index=False, header=True)
第 [1] 行导入pandas 库,并将pd 指定为该库的引用。
第[2]行读取CSV文件的内容并将内容保存到read_file 。
第[3]行将三个参数传递给 to_excel() 方法。
- 第一个参数是一个文件名*(any-file-name.xlsx*),是必须的。对于这个例子,文件名是j-greats.xlsx。
- 第二个参数*(index=True/False/None*)是不需要的。如果这个参数被遗漏,默认值是无/假。无/真意味着不在左边添加带有行(索引)号的附加列。如果是True,则显示该列。
- 第三个参数(header=True/False)是不需要的。如果这个参数被遗漏,标题行会自动显示。
如果这段代码运行成功,当前工作目录现在包含j-greats.xlsx 文件。
输出(取决于传递的参数)
output Line [3] 可能的参数。index=False/None,header=True

输出行[3] 可能的参数: 。index=True, header=False

如何在Python中加载一个Excel工作簿?
要加载一个现有的工作簿,运行下面的代码。
- 第 [1] 行从 openpyxl 库中导入
load_workbook()方法。这个库是加载工作簿所必需的。 - 第[2]行指定
file_name作为对现有j-greats.xlsx文件的引用。 - 第[3]行加载工作簿(包括所有相关的工作表)并将其内容分配给
w_book。
运行这段代码没有提供可见的输出。但是,现在可以访问工作簿和工作表了。
from openpyxl import load_workbook
file_name = 'j-greats.xlsx'
w_book = load_workbook(filename=file_name)
如何确定活动的Openpyxl工作表 - 单个工作表
每次工作簿最初加载时,默认情况下,活动工作表被指定为最左边的工作表(标签1)。

在创建j-greats.xlsx ,发生了以下情况。
- Excel创建了一个名为
j-greats.xlsx的工作簿。 - Excel为这个工作簿添加了一个工作表,
Sheet1。 - 这个工作表成为活动工作表。
- CSV的内容写到工作表
Sheet1。 - 在本例中,工作簿被保存并置于当前工作目录中。
为了确认活动工作表,运行以下代码。
w_sheets = w_book.active
print(w_sheets.title)
输出
Sheet1
总结
在这篇文章中,我们学习了如何:
- 从纯文本创建CSV文件。
- 安装所需的库。
- 将CSV转换为Excel。
- 加载一个工作簿和。
- 确定活动工作表。