Pandas to_CSV在给定长度上断行

时间:2016-11-04 14:34:24

标签: python pandas

我正在将数据框中的项目输出到csv。但是,这些行太长了。我需要为每个X项(列)添加csv添加换行符(/n),以便输出中的各行不会太长。有没有办法做到这一点?

A,B,C,D,E,F,G,H,I,J,K

成为文件(X = 3) -

A,B,C
D,E,F
G,H,I
J,K

编辑: 我有一个95%的解决方案(假设你只有一列):

size=50
indexes = np.arange(0,len(data),size) #have to use numpy since range is now an immutable type in python 3
indexes = np.append(indexes,[len(data)]) #add the uneven final index
i=0
while i < len(indexes)-1:
    holder = pd.DataFrame(data.iloc[indexes[i]:indexes[i+1]]).T
    holder.to_csv(filename, index=False, header=False)
    i += 1

唯一的奇怪之处在于,尽管没有抛出任何错误,while的最后一个循环(带有不均匀的最终索引)不会写入文件,即使信息完全在holder中。由于没有抛出任何错误,我无法弄清楚为什么没有写出最终信息。

1 个答案:

答案 0 :(得分:1)

假设您有多个值为3的倍数(请注意我添加L的方式):

s = pd.Series(["A","B","C","D","E","F","G","H","I","J","K","L"])
df = pd.DataFrame(s.reshape((-1,3)))

您可以将df写入CSV。