化妆品网站栏目设计,推广网站的方法有搜索引擎,中国去中心化搜索引擎,wordpress获取浏览人信息使用 Pandas#xff0c;我们可以轻松地读取和写入Excel 文件#xff0c;之前文章我们介绍了其他多种方法。
使用前确保已经安装pandas和 openpyxl库#xff08;默认使用该库处理Excel文件#xff09;。没有安装的可以使用pip命令安装#xff1a;
pip install pandas ope…
使用 Pandas我们可以轻松地读取和写入Excel 文件之前文章我们介绍了其他多种方法。
使用前确保已经安装pandas和 openpyxl库默认使用该库处理Excel文件。没有安装的可以使用pip命令安装
pip install pandas openpyxl -i https://mirrors.aliyun.com/pypi/simple/
读取excel文件
使用pandas的read_excel函数读取excel文件,默认返回DataFrame数据格式。 函数参数有很多主要介绍下常用的参数
io字符串或文件对象表示要读取的Excel 文件的路径或文件对象。sheet_name字符串、整数或字符串列表表示要读取的工作表名称、工作表索引从 0 开始或工作表名称的列表。默认值表示读取第一个工作表。header用作列名的行号默认为0第一行。如果没有列名则设为None。也可以指定多行作为多级列名例如header[0, 1]。names列名列表当headerNone时可以使用此参数自定义列名。index_col用作索引的列编号或列名。默认为None使用CSV文件中的行索引作为DataFrame的索引。usecols返回的列可以是列名的列表或由列索引组成的列表。用于选择性地读取CSV文件中的某些列。dtype字典或列表指定某些列的数据类型。例如dtype{column1: int, column2: float}。Converters一个字典用于对特定列的数据进行转换。键是列名或列索引值是一个函数用于将该列的数据进行转换。engine字符串用于指定读取Excel文件的引擎。Pandas 默认使用openpyxl读取.xlsx 文件使用xlrd读取.xls文件。引擎主要有[xlrd, openpyxl, odf, pyxlsb, calamine]skiprows需要忽略的行数从文件开头算起或需要跳过的行号列表。nrows需要读取的行数从文件开头算起。用于从大文件中提取部分数据。skipfooter文件尾部需要忽略的行数。
举例准备一个excel文件如下 1读取文件为DataFrame对象并打印对象的数据
import pandas as pddf pd.read_excel(1.xlsx)print(df)
结果这个结果跟excel表格中的数据结构很类似。 2读取文件为DataFrame对象并使用converters参数将name列的数据大写
import pandas as pd#converters参数是一个字典key为name列value为lambda函数df pd.read_excel(1.xlsx,converters{name:lambda x:x.upper()})
print(df)
结果 3读取文件为DataFrame对象并使用dtype参数将age列返回浮点数通过nrows参数只读取前2行
import pandas as pddf pd.read_excel(1.xlsx,dtype{age:float})
print(df)
结果 当然这些参数可以组合实现某些特定功能大家不妨自己尝试下读取的数据可以继续做数据筛选清洗、分类聚合等统计分析功能具体可参考上一篇文章介绍python数据分析介绍pandas库的数据类型Series和DataFrame
保存为excel文件
使用DataFrame对象的to_excel函数将DataFrame格式数据保存为excel文件 常用参数介绍
. excel_writer指定要写入的目标对象可以是文件路径字符串或者是一个 ExcelWriter 对象。
. sheet_name:要写入的工作表名称。默认值是Sheet1。
. na_rep用于指定缺失值NaN的表示方式。默认值是空字符串。
. float_format用于格式化浮点数。如果需要控制浮点数的显示格式可以使用这个参数。例如%.2f会将浮点数格式化为保留两位小数的形式。
. columns: sequence,指定要写入的列名列表。如果为 None则写入所有列。
. index: 默认为 True。表示是否将行索引标签写入文件。header: 默认为 True。是否将列名表头写入文件。如果为 False则不写入列名也可以是一个字符串列表指定列名的别名。
. startrow指定从Excel表格的第几行开始写入数据。默认值是 0表示从第一行开始
. startcol指定从Excel表格的第几列开始写入数据。默认值是 0表示从第一列开始。
. engine用于指定写入 Excel 文件所使用的引擎和read_excel函数中的engine类似。可以是openpyxl、xlsxwriter等默认是openpyxl如果已安装。
. merge_cells用于指定是否合并单元格。默认值是False。如果设置为True并且有重复的列名或行索引等情况可能会合并单元格。
. encoding用于指定编码方式。默认值通常是UTF8编码。
1举例1读取excel表然后再保存为excel表
import pandas as pddf pd.read_excel(example.xlsx,dtype{age:float},nrows2)#添加一些参数 不写入索引 不写入表头 从第1行和第2列开始才写入df.to_excel(example1.xlsx,indexFalse,headerFalse,startrow1,startcol2)
保存后打开如下 2举例2配合使用 ExcelWriter对象将同的DataFrame写入同一个Excel文件的不同工作表
import pandas as pd
data_dict {group: [A, C, B, A, A, C, B, B, C],
name: [lilei, lili, wanglei, wangning, wangling, wangming, wangyu, liyi, xiaolei],
age: [25, 30, 35,21,23,24,25,26,32],
city: [shanghai, shenzhen, nanjing,shanghai, shenzhen, nanjing,shanghai, shenzhen, nanjing]}
df pd.DataFrame(data_dict)
#将name列写入sheet1将group列写入sheet2保存为2.xlsx
with pd.ExcelWriter(2.xlsx) as writer:df1 df[name]df1.to_excel(writer, sheet_nameSheet1)df2 df[group]df2.to_excel(writer, sheet_nameSheet2)
结果 共勉 东汉·班固《汉书·枚乘传》“泰山之管穿石单极之绠断干。水非石之钻索非木之锯渐靡使之然也。”
-----指水滴不断地滴可以滴穿石头
-----比喻坚持不懈集细微的力量也能成就难能的功劳。
----感谢读者的阅读和学习谢谢大家。 新的一年祝大家万事如意财源滚滚