当我将Pandas数据帧打印到文件中时,如何为其设置列格式?
或者在哪里可以找到有关如何做到这一点的文档?
我所发现的只是关于如何格式化DF以进行可视化的信息,而不是关于以某种格式打印DF的信息。
def print_Report(dataframe, originalFile, newFile):
pageNum = 1
start_row = 0
end_row = 49
max_row = len(dataframe.index)
ln4pad = 123
padding = ' '
#Grabs lines 5-17 of original report file via slice
originalHeader = retrieveHeader(originalFile)
while start_row < max_row:
with open(newFile, 'a') as f:
#Writes Lines 1-4 of header
ln4 = 'Page ' + str(pageNum)
f.write(f'n1nnn{ln4.rjust(ln4pad, padding)}nn'
#Writes Lines 5-17 of header
for item in originalHeader:
f.write(item)
#Writing DF to file
dfAsString = (dataframe.iloc[start_row:end_row]).to_string(index=False, header=False)
f.write(dfAsString)
#Update Values
pageNum += 1
start_row += 49
end_row += 49
if end_row > max_row
end_row = max_row
我知道问题是在列格式的适当位置插入空白。但我只是很难找到如何做到这一点。
所需格式:
EGG HATCH TIME EF EB
NO HR MN SECONDS SCAL DCAL
1 15 50 47.9293 67.1 21.6
2 15 50 48.9824 67.1 21.6
3 15 50 50.9657 67.2 20.4
当前打印为:
EGG HATCH TIME EF EB
NO HR MN SECONDS SCAL DCAL
1 15 50 47.9293 67.1 21.6
2 15 50 48.9824 67.1 21.6
3 15 50 50.9657 67.2 20.4
您可以使用col_space
参数到to_string
来对齐列:
dfAsString = (dataframe.iloc[start_row:end_row]).to_string(index=False, header=False, ,col_space=[5,3,2,7,6,5])
然后输出应该看起来像:
NO HR MN SECONDS SCAL DCAL
1 15 50 47.9293 67.1 21.6
2 15 50 48.9824 67.1 21.6
3 15 50 50.9657 67.2 20.4