【发布时间】:2019-07-12 04:27:01
【问题描述】:
我想将 pandas 数据框保存为 csv 文件,问题是 to_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)
solution_sudoku = [123, 345, 894, 324, 321, 321](整数列表)
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]"
如何去掉那些引号?
【问题讨论】:
-
你不能在
.csv中保存python对象;它只是一个文本文件,无法知道list或numpy.array是什么。如果您需要序列化 python 对象,请查看pickle格式(pandas 有一个DataFrame.to_pickle()方法)。即使您在阅读时将其保存在.csv中没有引号,您也不会得到一个 numpy 数组 -
谢谢,我今天已经失去了足够多的头发!问题是我需要一种允许我在旅途中附加数据的格式。据我所知,pickle 不允许扩展文档。还是我错了?