Pythonベースの自動入力フォームの小さいプログラムです。


萼落が雪の書いた小さなプログラムを手伝います。
---------------------------------------------
大学に行く時、いつも多くの表から学友達を必要としてやって、特に学校が始まったばかりの時、明らかにとてもいらだたしいです。
雪さんは学校が始まったばかりの時、クラスの幹部として、時計を記録したばかりではよくわからないと言いました。
これは私にとても触れさせて、だから彼女にやってもらいたいです。ついでに私達の友情を強めます。
---------------------------------------------
考え方:
第一歩:情報はやはり記入しなければなりません。以前はクラス委員会に配って、ゆっくりやりに来ましたが、今は違っています。学生たちに彼らが記入したい情報をメモ帳に書いてください。内容の間には中国語のコンマで区切って送ってください。
第二ステップ:雪ちゃんがしていることは子供ごとのtxtテキストをクリックしてダウンロードすればいいです。これは明らかに簡単なことです。
第三歩:QQは個人的に受け入れられたファイルは一般的にこのフォルダの中にあります。友達ごとにQQの保管場所が違っています。ここでは詳しく説明しません。私が預けた場所は(r'D:/qq/qqファイル/////////『私のqq番号』/FileRecv/)私達はこのパスをqq_と呼んでいます。パスをくださいこのパスは事前にコードに書き込む必要があります。ここで定義した関数はcopy_です。file()内:具体的な思想が正しければいいです。
第四ステップ:プログラム全体は操作の難しさがあまりないので、指示によってコマンドを記入すればいいです。全部大量処理です。関数の中に時間間隔を設けました。このようにすれば、プログラムが停滞感があり、もっと友好的になると思います。
関数ライブラリ:
  • Osライブラリ:フォルダを作成し、パスを変更し、パスを決定し、ファイルを巡回するなどの操作
  • csvライブラリ:テーブルへの入力timeライブラリ:プログラムの一時停止感のための
  • pansdasライブラリ:csvとxlsxフォーマット間の変換
  • shutillライブラリ:ファイルのコピー
  • コピー関数:qqを受諾したファイルを全部私達が指定した場所に移して操作しやすいです。
    
    def copy_file(): #  qq                  
     qq_path = r'D://qq//qq  //qq//FileRecv//' #    qq   
     for filename in os.listdir(qq_path):
      txt_path = os.path.join(qq_path, filename) #             
      if txt_path[-4:] == '.txt':
       if txt_path[-5:-4] in [str(i) for i in range(10)]:
        #                     txt
        shutil.copy(txt_path, patht) #     
        os.remove(txt_path) #    qq                 
       elif txt_path[-6:-4] in [str(i) for i in range(10, 66)]: #         
        shutil.copy(txt_path, patht) #     
        os.remove(txt_path) #    qq                 
    
     return qq_path
    
    
    情報の入力:フォルダを巡回して、テキストを一つ一つ読み込んで、得られた情報をリストに入れます。
    
    def luru():
     #                       
     qq_path = copy_file() #      patht
     listss = [] #       
     filenamepath = [] #       
     pathtxt = r'D://    //     //'
     for filename in os.listdir(pathtxt): #             
      filenamepath.append(os.path.join(pathtxt, filename))
     print("    {}   {}   :".format(pathtxt, len(filenamepath)))
     if len(filenamepath) == 0:
      print('          {} :'.format(qq_path))
     for i in range(len(filenamepath)): #              
      with open(filenamepath[i], "r", encoding='utf-8') as fo:
       for j in fo:
        listss.append(j.split(','))
    
     return listss
    
    
    ここで私は小さな判断を加えました。もし入力テキスト情報が0なら、qq受信情報住所は正しく記入されていないかもしれません。経路はよく確定されていないので、このバグを引き起こします。
    表の入力:これは簡単です。Osライブラリとcsvライブラリを利用します。
    
    def wubiaotou():
     name = input("        :")
     with open(pathb + name + ".csv", "a+", newline='') as fo:
      num = input("     ,         :")
      headers = num.split(",")
      # headers = ["  ","  ","  "]
      fr_csv = csv.writer(fo)
      fr_csv.writerow(headers)
      fr_csv.writerows(lists)
    
     pathnamew = pathb + name + '.csv'
     time.sleep(0.5)
     successful(pathnamew)
     time.sleep(2)
     demo()
    
    
    削除機能:象徴的に書いて、機能を少し改善するためです。
    
    def del_s(path_, fg):
     os.chdir(path_) #   path_     
     biaonumber = len(os.listdir(path_))
     print("     {}  {}   :".format(path_, biaonumber))
     if biaonumber == 0:
      print("    ,       {}   ".format(biaonumber))
     else:
      delnum = input("           ,        ,   all     :").split(",")
      if delnum[0] == 'all': #        all     
       for filename in os.listdir(path_): #        
        os.remove(os.path.join(path_, filename))
       time.sleep(0.5)
       print("    {}       !".format(path_))
      else: #          
       for i in range(len(delnum)):
        fn = str(delnum[i]) + fg
        os.remove(os.path.join(path_ + fn))
       time.sleep(0.5)
       print("    {}   {}   !".format(path_, len(delnum)))
     time.sleep(2)
     demo()
    
    
    
    コード全体が理解しにくいわけではないです。よく見ればわかるはずです。オーストリアパワーを信じて、兄弟たちを作ってくれました。
    すべてのコードは以下の通りです。
    
    # -*- coding : utf-8 -*-
    # @Time  : 2020/3/2 18:38
    # @author :      
    # @Software : PyCharm
    import os
    import csv
    import time
    import pandas as pd
    import shutil
    
    path = r'D://    //'
    if not os.path.exists(path): #             
     os.mkdir(path)
    
    patht = path + "     //"
    if not os.path.exists(patht): #             
     os.mkdir(patht)
    
    pathb = path + "     //"
    if not os.path.exists(pathb): #             
     os.mkdir(pathb)
    
    
    def copy_file(): #  qq                  
     qq_path = r'D://qq//qq  //qq//FileRecv//' #    qq   
     for filename in os.listdir(qq_path):
      txt_path = os.path.join(qq_path, filename) #             
      if txt_path[-4:] == '.txt':
       if txt_path[-5:-4] in [str(i) for i in range(10)]:
        #                     txt
        shutil.copy(txt_path, patht) #     
        os.remove(txt_path) #    qq                 
       elif txt_path[-6:-4] in [str(i) for i in range(10, 66)]:
        shutil.copy(txt_path, patht) #     
        os.remove(txt_path) #    qq                 
    
     return qq_path
    
    
    def luru():
     #                       
     qq_path = copy_file() #      patht
     listss = [] #       
     filenamepath = [] #       
     pathtxt = r'D://    //     //'
     for filename in os.listdir(pathtxt): #             
      filenamepath.append(os.path.join(pathtxt, filename))
     print("    {}   {}   :".format(pathtxt, len(filenamepath)))
     if len(filenamepath) == 0:
      print('          {} :'.format(qq_path))
     for i in range(len(filenamepath)): #              
      with open(filenamepath[i], "r", encoding='utf-8') as fo:
       for j in fo:
        listss.append(j.split(','))
    
     return listss
    
    
    lists = luru()
    
    
    def youbiaotou():
     print("             {}   :".format(pathb))
     names = input("        :")
     pathnamey = pathb + names + ".xlsx" #    xlsx   
     #   pandas   xlsx     csv          
     date_xlsx = pd.read_excel(pathnamey, index_col=0)
     pathnamec = pathb + names + '.csv'
     date_xlsx.to_csv(pathnamec, encoding='utf_8_sig') #           
     with open(pathnamec, "a+", encoding='utf-8', newline='') as fo:
      fw_csv = csv.writer(fo)
      fw_csv.writerows(lists) #     
     time.sleep(0.5)
     successful(pathnamec)
     time.sleep(2)
     demo()
    
    
    def successful(pathname): #       
     print("      !".center(38, '-'))
     print("    :{}".format(pathname))
     print("--" * 22)
    
    
    def wubiaotou():
     name = input("        :")
     with open(pathb + name + ".csv", "a+", newline='') as fo:
      num = input("     ,         :")
      headers = num.split(",")
      # headers = ["  ","  ","  "]
      fr_csv = csv.writer(fo)
      fr_csv.writerow(headers)
      fr_csv.writerows(lists)
    
     pathnamew = pathb + name + '.csv'
     time.sleep(0.5)
     successful(pathnamew)
     time.sleep(2)
     demo()
    
    
    def helpss(): #     
     helptxt = ('  :\t                     

    ' ' :\t ,

    ' ' :\t QQ (FileRecv )' '

    ' ' :\t ( :{0})

    ' '\t , ({1})

    ' '\t ( :{2})

    ' '\t

    ' '\t ' ' (.csv)

    '.format(patht, pathb, pathb)) with open(path + ' .txt', "w", encoding='utf-8') as fo: fo.write(helptxt) if os.path.exists(path + ' .txt'): # newname = ' .txt' # os.rename(path+'helptxt.txt',path+newname) os.system(path + ' .txt') demo() def del_s(path_, fg): os.chdir(path_) # path_ biaonumber = len(os.listdir(path_)) print(" {} {} :".format(path_, biaonumber)) if biaonumber == 0: print(" , {} ".format(biaonumber)) else: delnum = input(" , , all :").split(",") if delnum[0] == 'all': # all for filename in os.listdir(path_): # os.remove(os.path.join(path_, filename)) time.sleep(0.5) print(" {} !".format(path_)) else: # for i in range(len(delnum)): fn = str(delnum[i]) + fg os.remove(os.path.join(path_ + fn)) time.sleep(0.5) print(" {} {} !".format(path_, len(delnum))) time.sleep(2) demo() def demo(): # fix = '-' * 44 title = ' '.center(38, '-') helps = ' 1'.center(40, ' ') fit1 = ' 2'.center(40, ' ') fit2 = ' 3'.center(40, ' ') del1 = ' 4'.center(40, ' ') del2 = ' 5'.center(40, ' ') fix = '-' * 44 c = ['fix', 'title', 'helps', 'fit1', 'fit2', 'del1', 'del2', 'fix'] for i in c: print('{}'.format(eval(i))) control = input(" :") if control == '1': helpss() elif control == '2': wubiaotou() elif control == '3': youbiaotou() elif control == '4': fg = '.txt' del_s(patht, fg) elif control == '5': fg = '.csv' del_s(pathb, fg) else: print(" !") demo()
    ここでは、Pythonベースの自動入力フォームの手続きについての文章を紹介します。Pythonベースの自動入力フォームの内容については、以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。