簡體   English   中英

如何在 txt 文件中寫入“大”數據框

[英]How to write a “big” data frame in a txt file

我正在嘗試在 Python 中編寫一個代碼,該代碼允許我在文本文件(由 8 個數組組成)中擁有一個“大”Dataframe(使用 Pandas)。 我的問題是,如果 DataFrame 有超過 60 列,它沒有完全顯示,並且在文本文件中也有連續點。 我添加了一個屏幕截圖。

這是我的代碼:

TemperatureStagnation = []
PressureStagnation = []
Pressure = []
AlphaAngle = []
GammaAnlge = []
TurbulentDissipationRate = []
TurbulentEnergyKinketik = []

for i in range(1,len(Machnumber)+1):
  Tt = 240 #in K - Isotherm Profile
  p = 36630 #in Pa - isobar 
  pt = p * (1+((kappa-1)/2)*Machnumber[i-1]**2)**(kappa/(kappa-1)) #isentropic Flow relation
  Alpha = 0.000 #No deviation
  Gamma = 0.000 #No deviation
  TDR = 0.000 #Zero Turbulent Dissipation Rate
  TEK = 0.000 #Zero Turbulent Energy Kinetic
  
  TemperatureStagnation.append(Tt)
  PressureStagnation.append(pt)
  Pressure.append(p)
  AlphaAngle.append(Alpha)
  GammaAnlge.append(Gamma)
  TurbulentDissipationRate.append(TDR)
  TurbulentEnergyKinketik.append(TEK)
  
Header = "TRACE_Input_Wall"
Input = pd.DataFrame({'Rr':Rr,'Ma':Machnumber,'Tt':TemperatureStagnation,'pt':PressureStagnation,'p':Pressure,'Alpha':AlphaAngle,'Gamma':GammaAnlge,'TDR':TurbulentDissipationRate,'TEK':TurbulentEnergyKinketik}) 
print (Input)
f= open("TRACE_Input_Wall.txt","w+")
file = open("TRACE_Input_Wall.txt","r+")
file.truncate(0)
file.close()
print (Header,file=open("TRACE_Input_Profiles_Mourad.txt", "a"))
print (Input,file=open("TRACE_Input_Profiles_Mourad.txt", "a"))
print ("Output successful!")     

有人有更好的主意嗎? (熊貓和 numpy 已經導入我的或在此處輸入圖像描述 原始代碼。)

正如 Felício 評論的那樣,您可以使用

np.savetxt('/path/to/file.txt', Input.values)

用於將數據保存在 txt 文件中(有關更多信息,請參閱numpy.savetxt.html )。 絕對適用於 >60 列,但 header 需要單獨添加。

或者你可以使用

Input.to_csv('/path/to/file.csv')

將數據保存在 csv 文件中(有關更多選項,請參見pandas.DataFrame.to_csv.ZFC35FDC70D5FC69D2369883 )。

如果您想查看 Spyder 中的所有數據框列,這個問題可能會有所幫助: python-spyder-show-all-colums-of-a-pandas-dataframe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM