2016-07-13 78 views
4

Julia函數可以輸出一個DataFrame,以便將其轉換爲除下面顯示的文本外的其他文本?Julia DataFrame輸出函數

using DataFrames 
A = DataFrame(randn(10, 7)); 

print("\n\n\n", "A = DataFrame(randn(10, 7))") 

print("\n\n\n","print(A)\n") 
print(A) 

print("\n\n\n","show(A)\n") 
show(A) 

print("\n\n\n","show(A, true)\n") 
show(A, true) 

print("\n\n\n","show(A, false)\n") 
show(A, false) 

print("\n\n\n","showall(A)\n") 
showall(A) 

print("\n\n\n","showall(A, true)\n") 
showall(A, true) 

print("\n\n\n","showall(A, false)\n") 
showall(A, false) 

print("\n\n\n","display(A)\n") 
display(A) 

大多數類似以下的輸出的東西:

10×7 DataFrames.DataFrame 
│ Row │ x1   │ x2  │ x3  │ x4  │ x5   │ x6  │ x7  │ 
├─────┼────────────┼───────────┼───────────┼───────────┼────────────┼───────────┼───────────┤ 
│ 1 │ 0.377968 │ -2.23532 │ 0.560632 │ 1.00294 │ 1.32404 │ 1.30788 │ -2.09068 │ 
│ 2 │ -0.694824 │ -0.765572 │ -1.11163 │ 0.038083 │ -0.52553 │ -0.571156 │ 0.977219 │ 
│ 3 │ 0.343035 │ -1.47047 │ 0.228148 │ -1.29784 │ -1.00742 │ 0.127103 │ -0.399041 │ 
│ 4 │ -0.0979587 │ -0.445756 │ -0.483188 │ 0.816921 │ -1.12535 │ 0.603824 │ 0.293274 │ 
│ 5 │ 1.12755 │ -1.62993 │ 0.178764 │ -0.201441 │ -0.730923 │ 0.230186 │ -0.679262 │ 
│ 6 │ 0.481705 │ -0.716072 │ 0.747341 │ -0.310009 │ 1.4159  │ -0.175918 │ -0.079051 │ 
│ 7 │ 0.732061 │ -1.08842 │ -1.18988 │ 0.577758 │ -1.474  │ -1.43082 │ -0.584148 │ 
│ 8 │ -1.077  │ -1.41973 │ -0.330143 │ -1.12357 │ 1.01005 │ 1.06746 │ 2.09197 │ 
│ 9 │ -1.60122 │ -1.44661 │ 0.299586 │ 1.46604 │ -0.0200695 │ 2.62421 │ 0.396777 │ 
│ 10 │ -1.74101 │ -0.541589 │ 0.425117 │ 0.14669 │ 0.95779 │ 1.73954 │ -1.7994 │ 

這是確定的,並在筆記本上看起來體面,並且正確地輸出到乳膠/ PDF文件使用nbconvert作爲純ASCII文本表。然而,我想要更多的選項來獲得類似於下面的文本輸出,這在nbconvert生成的latex/pdf中看起來更好。

| Column 1 | Column 2 | Column 3 | Column 4 | 
|-------|-------------|-------------|--------------| 
| a | b | c | d | 
| A | B | C | D | 

是否有任何函數輸出Julia DataFrame格式?其他參數如digits =caption =

+0

你的問題竟然是給我一個答案。不知道DataFrames可以做到這一點。 – PatrickT

回答

1

看看源代碼,沒有一種開箱即用的方式。你必須自己寫(然後你可以貢獻給github回購)。要做到這一點

最簡單方法是利用輸出writetable()到內存中的文件(使用|作爲分隔符),然後處理列標題