我有时想读取输出数据帧并希望将其缩进。 例如,如果我有数据框
A |B |C |D | E
abc|def|ghij|k|ooo
lorem|ipsumjkl|d|amet|hel
我有一个要应用的长度列表alist = [5,8,4,1,3]
A |B |C |D|E
abc |def |ghij|k|ooo
lorem|ipsumjkl|dol |a|hel
我想出了这个
df.applymap(lambda x: str(x).ljust(elem) for elem in alist).to_csv("report.csv", sep="|", index=False)
但是我得到这个错误,
TypeError: ("'generator' object is not callable", 'occured at index xxxx')
如何输出具有给定长度列表的csv文件?
答案 0 :(得分:1)
您可以尝试以下方法:
for i,colum in enumerate(list(df.columns)):
df[colum]=df[colum].apply(lambda x: str(x).ljust(alist[i]))
df.to_csv("report.csv", sep="|", index=False)
或者,您可以尝试以下操作:
def returncolumindex(val):
i, j = np.where(df.values == val)
return j[0]
df=df.applymap(lambda x: str(x).ljust(alist[returncolumindex(x)]))