【问题标题】:Appending a row in csv file with python (PANDA)使用 python (PANDA) 在 csv 文件中添加一行
【发布时间】:2020-11-24 16:36:01
【问题描述】:

正如标题所暗示的,我正在尝试将一行添加到使用 pandas 在 python 中创建的已经存在的 csv 文件中:df.to_csv("dataframe.csv", index=False, header=True),并环顾互联网,我发现了这种方法:

df = pd.DataFrame([], columns=[f"{name}", f"{usr}", f"{passw}"])
df.to_csv("dataframe.csv", mode="a", header=False)

但是当我查看 csv 文件时,什么也没有发生。 难道我做错了什么? 我将包含整个函数,即使我认为它并不重要

# Takes the user input and appends it to the csv file (this is where I have the problem)
def usr_input():
    name = input("Website name: ")
    usr = input("Email or username: ")
    passw = input("Password: ")

    df = pd.DataFrame([], columns=[f"{name}", f"{usr}", f"{passw}"])
    df.to_csv("dataframe.csv", mode="a", header=False)

    flag = input("Add another one? (y/n): ")
    if flag == "y":
        usr_input()
    else:
        quit()

这是我创建 csv 文件的地方:

def init():
    if not os.path.isfile("dataframe.csv"):
        df = pd.DataFrame([], columns=["Name", "Email / Username", "Password"])
        df.to_csv("dataframe.csv", index=False, header=True)
    else:
        usr_input()

【问题讨论】:

  • 注解:仅使用 pandas 在 csv 文件末尾添加一行类似于使用手提钻压死蚊子......没有错,但有点过头了。

标签: python pandas csv export-to-csv


【解决方案1】:

找到答案了!我只需要使用 loc[] 函数:

data = [f"{name}", f"{usr}", f"{passw}"]
df.loc[len(df)] = data
df.to_csv("dataframe.csv", index=False)

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多