Python 要保存np.array,CSV将其保存为字符串而不是列表

Python 要保存np.array,CSV将其保存为字符串而不是列表,python,pandas,csv,Python,Pandas,Csv,我想将pandas数据帧保存为csv文件,问题是要将np.array转换为字符串 我想将数组保存为数组,但在文档中找不到任何有用的内容 sudoku_solution = [a for a in assignment if a > 0] label = np.reshape(np.array(sudoku_solution*n_splits), (n_splits, len(sudoku_solution))) df = pd.DataFram

我想将pandas数据帧保存为csv文件,问题是要将np.array转换为字符串

我想将数组保存为数组,但在文档中找不到任何有用的内容

sudoku_solution = [a for a in assignment if a > 0]


label = np.reshape(np.array(sudoku_solution*n_splits), 
                   (n_splits, len(sudoku_solution)))

df = pd.DataFrame(zip(label))

path = './data/SplitsLabel.csv'
try:
    df.to_csv(path_or_buf = path, 
              mode = 'a',
              header = False)
解数独=[123345894324321321](整数列表)

n_splits=3(整数)

最终结果应该是:

0、[123 345 894 324 321 321]

1、[123 345 894 324 321 321]

3、[123 345 894 324 321 321]

但现在的结果是:

0,“[123 345 894 324 321 321]”

1、“[123 345 894 324 321 321]”

3、“[123 345 894 324 321 321]”


如何去掉这些引号?

我怀疑,由于您的输出包含逗号,它可能正在输入引号以避免与格式冲突。您可以尝试将分隔符更改为选项卡,这样就不会发生冲突。如果分隔符不适合您,您还可以更改“引号”


查看此链接以了解更多信息:

如果您有同样的问题,也许通过签入可以帮您省去一些麻烦

这里发布的任何解决方案都无法解决我的问题,因此下面是解析字符串并将其转换为我需要的格式的代码:

   df = pd.read_csv(filepath_or_buffer = path_x,
                       header = None, 
                       names = ["i", "clauses"]) 

    #it is sad that I have to do that!
    df["clauses"] = df["clauses"].apply(lambda x: x.replace("[", ""))
    df["clauses"] = df["clauses"].apply(lambda x: x.replace("]", ""))
    df["clauses"] = df["clauses"].apply(lambda x: x.replace("\n", ""))
    df["clauses"] = df["clauses"].apply(lambda x: x.replace(",", ""))
    df["clauses"] = df["clauses"].apply(lambda x: x.split(" "))
    df["clauses"] = df["clauses"].apply(lambda x: np.array([int(i) for i in x]))

    cols = [x for x in range(120060)]
    df_x = pd.DataFrame(columns = cols)

    for i in range(len(df)):   
        df_x = df_x.append(pd.Series(data = {k: df["clauses"][i][k] for k in cols}),
                           ignore_index = True)

    df = pd.read_csv(filepath_or_buffer = path_y,
                       header = None, 
                       names = ["i", "label"]) 

    df_x.astype("int")

谢谢你,艾伦,但我把comas放错了。我根据描述更正了它。如果我使用您链接的建议,csv甚至没有保存=/您无法将python对象保存在
.csv
中;它只是一个文本文件,无法知道什么是
列表
numpy.array
。如果需要序列化python对象,请查看格式(pandas有一个
DataFrame.to\u pickle()
方法)。即使你把它保存在
.csv
中而不加引号,当你把它读回的时候,你也不会得到一个numpy ARRAYTANKS,我今天已经失去了足够多的头发!问题是,我需要一种允许我在移动中附加数据的格式。就我所见,pickle不允许扩展文档。还是我错了?