You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas向DataFrame追加新行并将数据存入CSV文件?

解答你的两个Pandas操作问题

嘿,我来帮你搞定这两个和Pandas、CSV文件相关的问题~

问题1:如何使用Pandas向DataFrame追加新行?

先揪出你代码里的小问题:res1.append(iname,ipassword,iemail)这行写法不对,append()方法只能接收一个参数,你得把三个字段打包成列表或者元组才行。而且你最后直接保存原df,根本没把新行加进去呀😅。

给你修正并优化后的代码,还考虑了文件不存在的情况:

import pandas as pd

iname = "name1"
ipassword = "password1"
iemail = "email@domain.com"

# 读取现有CSV,文件不存在就创建空DataFrame
try:
    # 注意!你的login.csv用的是空格分隔,不是逗号,所以sep要改成'\s+'
    df = pd.read_csv("login.csv", sep='\s+', encoding="utf-8")
except FileNotFoundError:
    # 文件不存在时,先定义好列名创建空表
    df = pd.DataFrame(columns=["name", "password", "email"])

# 准备要追加的新行,用字典对应列名更清晰
new_row = {"name": iname, "password": ipassword, "email": iemail}
# 用pd.concat合并原表和新行(Pandas 2.0+已经弃用append,concat更稳定)
df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)

# 保存回CSV,不要索引列
df.to_csv("login.csv", index=False)

问题2:如何使用Pandas DataFrame将姓名、密码和邮箱信息存入login.csv文件?

分两种场景处理:

场景1:创建新的login.csv文件

如果文件还不存在,直接把数据转成DataFrame再保存:

import pandas as pd

# 准备数据,用字典列表能清晰对应列名
data = [
    {"name": "admin", "password": "admin", "email": "asdfs"},
    {"name": "zds", "password": "sd", "email": "dsssfsfd"},
    {"name": "vipul", "password": "rao", "email": "dsfdsfs"}
]

# 转成DataFrame
df = pd.DataFrame(data)
# 保存到CSV,不要生成索引列
df.to_csv("login.csv", index=False)

场景2:在现有login.csv里追加数据

这就和问题1的处理逻辑一致啦,用pd.concat把新数据合并到原DataFrame后再保存。记得处理文件不存在的情况,还有注意原文件的分隔符——你的原login.csv是用空格分隔的,不是逗号,读取时一定要把sep参数设为'\s+'或者delim_whitespace=True,不然会把整行当成一个列哦!

内容的提问来源于stack exchange,提问作者vipul-rao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:57:28