【问题标题】:Loss of data while writing a pandas dataframe to CSV using to_csv with index = False in python在 python 中使用 to_csv 和 index = False 将 pandas 数据帧写入 CSV 时数据丢失
【发布时间】:2017-09-01 05:29:54
【问题描述】:

我正在尝试编写一个只有一列 2k 行的 pandas 数据框。我想要一个包含所有 2k 行数据帧的 csv 文件,但没有索引。

my_df = pd.DataFrame(test_label)
my_df.columns = ['Names']
my_df.to_csv('/Users/neeru/Desktop/dats/test1.csv', index = False, header = True)

使用上面的代码时,我在保存的 csv 文件中得到了大约 1.7k 行,而当我创建 index = True 时,我得到了所有 2k 行以及索引。

我应该怎么做才能得到一个包含所有行但没有索引的单列的 csv 文件?

P.S:我刚刚开始使用 pandas。

【问题讨论】:

  • 嗯,我认为my_df.to_csv('/Users/neeru/Desktop/dats/test1.csv', index = False) 应该可以工作。如果手动检查输出数据,看看有什么区别?或者可能只是编码不同,但数据相同。
  • 我在 csv 文件中看到不同数量的行(一个索引 = False,另一个索引 = True)。我会检查一次编码。谢谢。
  • 你能确定哪些行完全丢失了吗?也许他们的价值观会给你一个很好的暗示。
  • 这个问题解决了吗?我遇到了同样的问题
  • @RajveerParikh :我面临的问题是文件的编码。我使用了合适的编码,问题就解决了。

标签: python csv pandas dataframe


【解决方案1】:

我也遇到了同样的问题。

我正在使用正确的参数保存数据框,如下所示:

df.to_csv(mask_path + df_train_label["id"][idx] + ".csv",
    index=False,
    header=False,)

我的问题是,当您阅读刚刚保存的 CSV 文件时,您还需要说 header=None

df_mask = pd.read_csv(mask_path + id + ".csv", header=None)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    相关资源
    最近更新 更多