如何使用Python创建新列表并写入pandas DataFrame
列表创建及pandas DataFrame写入实现方案
一、Python创建新列表的最优实现方式
根据你的使用场景,有两种性能最优的实现:
- 仅需要创建空列表后续填充内容,直接使用字面量声明即可,性能优于
list()构造器调用,写法更简洁:new_list = [] - 需要基于已有的Excel文件内容初始化列表,可以配合pandas读取Excel后直接转换为列表,一步完成:
import pandas as pd # 读取本地已有的Excel文件 df = pd.read_excel("你的Excel文件路径.xlsx") # 方案1:将整个DataFrame的所有行转换为嵌套列表 new_list = df.values.tolist() # 方案2:仅提取Excel中指定列转为一维列表 new_list = df["目标列名称"].tolist()
二、列表访问及写入pandas DataFrame的方法
Python列表是有序可变容器,通过列表名[下标]的方式即可访问/修改指定位置的内容,下标从0开始计数。将pandas DataFrame写入列表的常见实现如下:
- 场景1:将整个DataFrame内容追加到已有列表末尾
# 已有目标列表 target_list = ["示例内容1", "示例内容2"] # 待写入的pandas DataFrame write_df = pd.DataFrame({"列1": [1,2,3], "列2": [4,5,6]}) # 逐行转为子列表后追加到目标列表 target_list.extend(write_df.values.tolist()) - 场景2:将DataFrame指定值写入列表的固定位置
# 将列表下标为0的位置替换为DataFrame第一行第一列的值 target_list[0] = write_df.iloc[0,0]
如果你后续需要把写入完成的列表重新转成DataFrame写回Excel,可直接调用pandas构造方法实现:
final_df = pd.DataFrame(target_list, columns=["自定义列名1", "自定义列名2"]) # 写入Excel时设置index=False可以去掉默认生成的行索引列 final_df.to_excel("输出文件路径.xlsx", index=False)
内容的提问来源于stack exchange,提问作者nikita1221
相关产品推荐
相关产品推荐

