在csv中保存df时,pandas for python会创建多个索引列

2024-10-01 02:38:27 发布

您现在位置:Python中文网/ 问答频道 /正文

当我迭代这段代码时,pandas会在我的csv中不断创建新的索引列

import pandas as pd

credentials = pd.read_csv("credentials.csv")

email = "jarda@yahoo.cz"
nick = "jarda"
passw = "heslo"
csfd_conf_link = "test.link"

dict_to_append = {"nick": nick, "pass": passw, "email": email, "conf_link": csfd_conf_link}

credentials_updated = credentials.append(dict_to_append, ignore_index=True)
credentials_updated.to_csv("credentials.csv")

因此它最终看起来像这样this(在屏幕截图中更清晰可见):

   Unnamed: 0  Unnamed: 0.1  ...                         email                                          conf_link
0           0           0.0  ...                adam@seznam.cz                                               test
1           1           1.0  ...                 pepa@gmail.cz                                               test
2           2           2.0  ...  philbake.da.murt.l@gmail.com  https://www.csfd.cz/potvrzeni/registration/?co...
3           3           3.0  ...                jarda@yahoo.cz                                          test.link
4           4           4.0  ...                jarda@yahoo.cz                                          test.link
5           5           5.0  ...                jarda@yahoo.cz                                          test.link
6           6           NaN  ...                jarda@yahoo.cz                                          test.link

我知道可以使用credentials_updated.to_csv("credentials.csv", index=False)来关闭索引。但是,如果我想为这些列编制索引,该怎么办? 任何帮助都将不胜感激。谢谢


Tags: csvtotestpandasemailconflinkcz
1条回答
网友
1楼 · 发布于 2024-10-01 02:38:27

如果要保留Index往返,可以在对pd.read_csv的调用中指定index_col,并在对to_csv的调用中保留index=True

import pandas as pd

try:
    credentials = pd.read_csv("credentials.csv", index_col=0)
except FileNotFoundError:
    credentials = pd.DataFrame()
...

credentials_updated.to_csv("credentials.csv")

如果出于任何原因删除"credentials.csv",try/except将帮助您解决问题

相关问题 更多 >