Python讀寫txt檔案、轉換csv檔案與pandas條件計數、求和的綜合運用

ckxllf發表於2019-12-09

  Q1.從鍵盤輸入一串字串,將此字串寫入檔案record.txt中。

  x=input('請輸入需要寫入的內容:')

  f1 = open('record.txt','a')

  f1.write(x)

  Q2.檔案user.txt中存放使用者的id,name和age資訊,程式設計統計使用者年齡大約20的人數。

  如 user.txt檔案格式為:

  1 jack 20

  2 john 22

  3 ceily 19

  4 bill 25

  import pandas as pd

  import csv

  ###寫入txt

  f2=open('user.txt','a')

  l=['id name age','\n1 jack 20','\n2 john 22','\n3 ceily 19','\n4 bill 25']

  f2.writelines(l)

  ###txt轉為csv並進行處理

  df=pd.read_csv('user.csv')

  print(df)

  print(sum(df.age.apply(lambda x:1 if abs(x-20)<=1 else 0)))

  Q3.檔案score.txt中存放學生的id 和三門課的成績,程式設計統計每位同學的總成績,最後結果寫入result.txt檔案中。

  如score.txt檔案格式為:

  19570101 65 78 87

  19570102 76 71 82

  19570103 67 89 65

  import csv

  import pandas as pd

  import numpy as np

  ###寫入txt

  f3=open('score.txt','a')

  l=['id g1 g2 g3','\n19570101 65 78 87','\n19570102 76 81 82','\n19570103 67 89 65']

  f3.writelines(l) 鄭州人流醫院哪家好

  ###txt轉為csv並進行處理

  with open('score.csv','w') as f3:

  writer=csv.writer(f3)

  for t in open('score.txt'):

  row=t.split(' ')

  writer.writerow(row)

  df=pd.read_csv('score.csv')

  print(df)

  df['tg']=np.nan

  sum=df[['g1','g2','g3']].sum()

  df.tg=np.array(sum)

  print(df)

  df.to_csv('result.csv')

  Q4.其他txt讀寫方式

  #寫入操作,先要建立一個空白文件

  f2=open('user.txt','w')

  f2.write('id name age')

  f2.write('\n1 jack 20')

  f2.write('\n2 john 22')

  f2.write('\n3 ceily 19')

  f2.write('\n4 bill 25')

  #寫入操作,檔案要存在

  f2=open('user2.txt','r+')

  #防止被覆蓋

  f2.read()

  f2.write('\n1 jack 20')

  f2.write('\n2 john 22')

  f2.write('\n3 ceily 19')

  f2.write('\n4 bill 25')

  #逐行讀取

  f2=open('user.txt')

  ts=f2.readline()

  print(ts)

  ts=f2.readline()

  print(ts)

  ts=f2.readline()

  print(ts)

  ts=f2.readline()

  print(ts)

  ts=f2.readline()

  print(ts)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2667499/,如需轉載,請註明出處,否則將追究法律責任。

相關文章