在 csv 文件中附加一行 python (PANDA)
Appending a row in csv file with python (PANDA)
如标题所示,我正在尝试向在 python 中创建的现有 csv 文件添加一行,使用 pandas 和: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()
找到答案了!我只需要使用 loc[] 函数:
data = [f"{name}", f"{usr}", f"{passw}"]
df.loc[len(df)] = data
df.to_csv("dataframe.csv", index=False)
如标题所示,我正在尝试向在 python 中创建的现有 csv 文件添加一行,使用 pandas 和: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()
找到答案了!我只需要使用 loc[] 函数:
data = [f"{name}", f"{usr}", f"{passw}"]
df.loc[len(df)] = data
df.to_csv("dataframe.csv", index=False)