iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
0
Software Development

從零開始的Python練成記系列 第 23

[Day 23]真正精采的要來了:把DataFrame型式轉出到txt檔

  • 分享至 

  • twitterImage
  •  

對於今天的主題,我就不得不把過去幾天的內容再提一遍了,以下是今天要用到的內容來源:
[Day 19]資料結構:比Dictionary(目錄)架構更像二維陣列
[Day 21]曾經,我在Java的最大罩門:檔案讀寫


今天的目的是這樣的,就一樣拿學生的成績計算為例,但今天為了要能夠將檔案印出來而必須要將存放成績的目錄式資料庫轉出到txt檔上,同時還要進行成績的調整,那就開始今天的程式碼吧:

import pandas as pd
import numpy as np
Student = ["王曉明", "李小美", "陳小華", "蔣小偉"]
Attendance = [48, 75, 70, 50]
Quiz = [68, 52, 60, 43]
Final_exam = [56, 40, 39, 26]
Average = np.array(Attendance) * 0.25 + np.array(Quiz) * 0.3 + np.array(Final_exam) * 0.4
Changed = Average ** 0.5 * 9.52

Math_score = {"Students": Student,
              "Attendance": Attendance,
              "Quizzes": Quiz,
              "Final_exam": Final_exam,
              "Average": Average,
              "Changed_score": Changed}
print(pd.DataFrame(Math_score))

write_in = open("Score_save.txt", "w")
write_in.write(str(pd.DataFrame(Math_score)))
write_in.close()

reader = open("Score_save.txt", "r")
print(reader.read())
reader.close()

只不過,有趣的事情來了,在這個情況(也就是產生之文件含有中文字元)之下,會讓格式變得有些走樣:

"""
  Students  Attendance  Quizzes  Final_exam  Average  Changed_score
0      王曉明          48       68          56    54.80      70.473725
1      李小美          75       52          40    50.35      67.551763
2      陳小華          70       60          39    51.10      68.053019
3      蔣小偉          50       43          26    35.80      56.961112
  Students  Attendance  Quizzes  Final_exam  Average  Changed_score
0      王曉明          48       68          56    54.80      70.473725
1      李小美          75       52          40    50.35      67.551763
2      陳小華          70       60          39    51.10      68.053019
3      蔣小偉          50       43          26    35.80      56.961112
"""

這主要是因為程式編碼的相異性所導致,但我目前並沒有找到相關的解決方法就是了;至於之前有試過的以英文混數字進行輸入的話,並不會有這種問題

那今天就到這啦,國慶連假,我來了!!!


上一篇
[Day 22]要如何對List內的數值一並進行運算?
下一篇
[Day 24]程式碼出差錯?用Try/Except
系列文
從零開始的Python練成記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言