Python 熊猫以给定长度打断线

Python 熊猫以给定长度打断线,python,pandas,Python,Pandas,我正在将项目从数据帧输出到csv。然而,行太长了。我需要让csv每隔X个项目(列)添加换行符(/n),这样输出中的单个行就不会太长。有办法做到这一点吗 A,B,C,D,E,F,G,H,I,J,K 在文件(X=3)中变为- 编辑: 我有一个95%的解决方案(假设您只有一列): size=50 index=np.arange(0,len(data),size)#必须使用numpy,因为range现在在python3中是不可变的类型 index=np.追加(索引,[len(数据)])#添加最终索引

我正在将项目从数据帧输出到csv。然而,行太长了。我需要让csv每隔X个项目(列)添加换行符
(/n)
,这样输出中的单个行就不会太长。有办法做到这一点吗

A,B,C,D,E,F,G,H,I,J,K
在文件(X=3)中变为-

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

size=50
index=np.arange(0,len(data),size)#必须使用numpy,因为range现在在python3中是不可变的类型
index=np.追加(索引,[len(数据)])#添加最终索引
i=0
而i

唯一奇怪的是,尽管没有抛出任何错误,while的最后一个循环(具有不均匀的最终索引)没有写入文件,即使信息完全位于
holder
中。由于没有抛出错误,我无法理解为什么没有写入最终信息。

假设您有许多值是3的倍数(请注意我是如何添加的
L
):


您可以让他们将
df
写入CSV。

在写入CSV文件之前重塑数据框?行太长了,不能做什么?我不一定有完整的最后一行。我故意使示例不均匀。最多可以在末尾添加
NaN
值,这样最后一行看起来像
J,K,
(最后一个值为空)。
A,B,C
D,E,F
G,H,I
J,K
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
s = pd.Series(["A","B","C","D","E","F","G","H","I","J","K","L"])
df = pd.DataFrame(s.reshape((-1,3)))