合肥大型网站设计公,wordpress手机适应,上海公共招聘网站,毕业设计做网站答辩在数据处理的过程中#xff0c;时常需要对 Excel 表格中的数据进行清洗与转换#xff0c;下面介绍使用 Python 中的 Pandas 库对 Excel 文件中的数据进行操作#xff0c;具体包括分割列、展开数据、清除空格以及格式转换等操作。
目标#xff1a;
读取一个没有表头的 Exc…在数据处理的过程中时常需要对 Excel 表格中的数据进行清洗与转换下面介绍使用 Python 中的 Pandas 库对 Excel 文件中的数据进行操作具体包括分割列、展开数据、清除空格以及格式转换等操作。
目标
读取一个没有表头的 Excel 文件。分割指定列的数据并展开成多个行。清除空格并按空格将列数据拆分成两列。删除原始列保持数据格式整洁。保存处理后的数据到新的 Excel 文件。
示例代码
import pandas as pd# 读取 Excel 文件假设没有表头使用 headerNone 参数
df pd.read_excel(输入数据.xlsx, headerNone, engineopenpyxl)# 假设前四列是需要保留的第五列是需要分割的列
# 对第五列索引为4进行分割
df[4] df[4].str.split(,)# 使用 pandas 的 explode 函数展开第五列
df_expanded df.explode(4, ignore_indexTrue)# 去除第五列的空格
df_expanded[4] df_expanded[4].str.strip()# 进一步将第五列按空格分割成两列
df_expanded[[分列1, 分列2]] df_expanded[4].str.split( , n1, expandTrue)# 删除原始的第五列分割前的列
df_expanded df_expanded.drop(columns[4])# 将前四列设置为文本格式
df_expanded[0] df_expanded[0].astype(str)
df_expanded[1] df_expanded[1].astype(str)
df_expanded[2] df_expanded[2].astype(str)
df_expanded[3] df_expanded[3].astype(str)# 保存处理后的数据为新的 Excel 文件
df_expanded.to_excel(output2.xlsx, indexFalse, headerFalse, engineopenpyxl)print(处理完成结果已保存为 output2.xlsx)代码解析 读取数据 df pd.read_excel(输入数据.xlsx, headerNone, engineopenpyxl)使用 pd.read_excel() 来读取 Excel 文件。在这个例子中假设文件没有表头因此设置 headerNone。 分割列 df[4] df[4].str.split(,)假设第五列即索引为 4 的列需要进行分割。我们使用 str.split(,) 方法将该列的每个单元格按逗号分割成多个元素。 展开列 df_expanded df.explode(4, ignore_indexTrue)使用 explode() 函数将第五列的列表元素展开为多行每一行对应列表中的一个元素。 去除空格 df_expanded[4] df_expanded[4].str.strip()对展开后的列进行清理去除多余的空格。 进一步分列 df_expanded[[分列1, 分列2]] df_expanded[4].str.split( , n1, expandTrue)将经过清理的第五列按空格分割为两列并分别命名为“分列1”和“分列2”。这里我们指定 n1确保只按第一个空格进行分割。 删除原始列 df_expanded df_expanded.drop(columns[4])删除原始的第五列以确保数据格式的整洁。 转换数据格式 df_expanded[0] df_expanded[0].astype(str)
df_expanded[1] df_expanded[1].astype(str)
df_expanded[2] df_expanded[2].astype(str)
df_expanded[3] df_expanded[3].astype(str)将前四列的数据转换为字符串格式以避免格式不一致。 保存结果 df_expanded.to_excel(output2.xlsx, indexFalse, headerFalse, engineopenpyxl)最后将处理后的数据保存为新的 Excel 文件。这里我们指定不保存索引和表头保持数据格式简洁。
结果
处理完成后新的 Excel 文件 output2.xlsx 中包含了处理后的数据其中原来的第五列被分割并展开为新的列
下面提供一个输入数据的示例并展示经过处理后的输出数据。
输入数据 (输入数据.xlsx)
假设输入数据是一个没有表头的 Excel 文件内容如下
列1列2列3列4列5ABCD1, John DoeEFGH2, Jane SmithIJKL3, Alice BrownMNOP4, Bob White
其中第五列的数据需要被分割和展开。该列中的内容为由逗号和空格分隔的姓名接下来对其进行分割
处理步骤
将第五列按逗号 , 分割成多个元素。使用 explode 将分割后的元素展开为多行。去除空格并根据空格进一步将名字和姓氏拆分为两个新的列。
输出数据 (output2.xlsx)
处理后的数据如下
列1列2列3列4分列1分列2ABCD1ABCDJohnDoeEFGH2EFGHJaneSmithIJKL3IJKLAliceBrownMNOP4MNOPBobWhite
说明
第五列被分割并展开输入数据中的第五列如 “1, John Doe”被按逗号分割后展开为多行。每行包含一个数字和一个名字。进一步分割姓名展开后的每一行姓名如 “John Doe”被按空格分成了两列“分列1” 为名字“分列2” 为姓氏。结果保存最终的结果被保存为新的 Excel 文件 output2.xlsx。