[Pythonは]パンダテンセントアンケート素早く抽出情報を使用して、未充填スタッフのリストを比較します

はじめに背景

流行、これらの日、学校は各生徒がアンケートに記入しなければならない必要です。私は単純にテンセントのアンケートを作成しましたので。私はいくつかの学生が記入し、以降毎日カウントを告げなかったの下でカウンセラー今日をカウントしてみましょう。

私たちのクラスでは、約40人がありますが、30人のアンケートや塗りつぶされていない人々を特定するよりも、11大規模なリストのリストを記入し、肉眼に頼るの伝統的な方法は、目を見て持っていない場合は、一日についてのアンケートに記入それは過ごしました。何よりカウンセラーを思い出したのは次の日、あなたはすべて同様に、単純に時間を消費するだろうと述べました。

私はいつも真実を信じている:すべての反復的な作品は、書き込み処理時間が完了するまでの時間を超えている可能性があっても、プログラムによって実行されます!

埋めるために、実質的にすべてのスタッフと従業員との差集合演算を行うことで埋められていない人を選んで、それは、マイクロ秒の時間がかかるだけのレベルだが、現実には、Pythonの内部には長い時間がかかります。だから私は、現実的な問題を解決するためのプログラムを書き始めました。

情報のアンケートを入手

ここに画像を挿入説明
私はあなたのデータ復旧を埋めるために、すべてのデータを見ることができるアンケートテンセントを、使用しています。多くの日以来、私はアンケートを使用私のデータがすべてのように多くの日であり、私の仕事は毎日人の名前を記入していない見つけることですどこであること、同じです。

Pythonはケースに対処したい、勝つために不可欠のデータです。ここでは、爬虫類で行うことができますが、テンセントは、データを(Excelなど).csvファイルとしてエクスポートすることができ、直接輸出・インターフェースを提供してきました。

エクセル、CSVファイル形式で使用するために設計されたパンダと呼ばれるPythonライブラリは、あります。それは最初の時間を考えているところ株式市場は、情報が使用されている時にやっている前に、パンダでこの作業を行うには非常に適しています。

次のようにテンセントアンケートは、CSVエクスポート:

ここに画像を挿入説明

使用パンダが処理されています

import pandas as pd
csv = pd.read_csv('2.csv')

エクスポートされたCSVファイルは、「2.csv」を名前を変更し、直接csvファイルの情報を読み取るread_csvこのAPIを使用することは非常に簡単です。

ここに画像を挿入説明
ここでは、コンテンツの途中で自動サムネイルをpycharm、私たちはパンダを読み取り、CSV形式となりますことを知ることができるので。

最初のタスクを完了するために次の日の日付が指定したスタッフの完全なリストを抽出することです。

テンセントアンケート時刻の形式はこれです:

ここに画像を挿入説明
しかし、実際には、我々はそれに日付のみ、特定の時刻を知る必要はありません。このように、簡単な機能を備えた最初の処置:

a = lambda m:m[:2]
csv['开始答题时间'] = csv['开始答题时间'].apply(a)

ラムダ関数をカスタマイズすることが、効果は最初の2つの文字列を取っています。そして、「回答開始時間」欄に使用された関数を適用します。
このように、開始時間は、このようなデータ2月25日として、日付で最初の2つを、答える、答えの開始時刻は25です。次は、このデータによってスクリーニングしました。

today = '25'
today_finish = csv['2.姓名'][csv['开始答题时间']==today]

例えば、私はリストを完了するために(2月25日)今日を探しています、それが今日の「25」が割り当てられます、第二の文は、要素25としてカラム内のCSV「名前」、「スタート応答時間」で抽出されます。ブラケットが列を抽出する前に、ブラケットが再び与えられた条件のスクリーニング後、結果の答えは、開始時間が今日のリストで指定されました。

次に、私はまた、フォーマットをエクセルクラス名簿に講師を依頼しました。便宜上、「1.xlsx」という名前になります。

s = pd.read_excel('1.xlsx')
total = s['姓名'].values
not_finish = set(total).difference(set(today_finish))

また、パンダと読み、パンダが第二の文を使用して、抽出されたExcelの名前がリストに含まれているがいっぱいです。最後に、セット()、完全なリストや人物のリストは、我々だけで、コレクション、メソッド差の集合に変換され、その後、両者の間の差集合を得るために、抽出された、今日完了しました。この違いのセットが、それはまた、人々のリスト未完成今日です。

追伸

import pandas as pd

csv = pd.read_csv('2.csv')


a = lambda m:m[:2]
csv['开始答题时间'] = csv['开始答题时间'].apply(a)

today = '25'
today_finish = csv['2.姓名'][csv['开始答题时间']==today]

s = pd.read_excel('1.xlsx')
total = s['姓名'].values

not_finish = set(total).difference(set(today_finish))
print(not_finish)

全体として、コードは非常に簡単です。作業効率は、多くの時間を節約するので、代わりに肉体労働のこと、も高いです。あなたが極端に怠惰にしたい場合は、自動的にエクスポートデータのアンケートを爬虫類を記述する必要があり、すべての後に、手動でのみエクスポートすることができますし、手動で完全に自動化するのに十分ではなく、保存してください。しかし、また、それは時間を節約するのに十分なされています。私は反復作業に対処する上で、より効率的であること、すべてのコードの目的は一つだけを持って、コードをより高度な文法の追求よりも使用するべきではありませんだと思います。

公開された43元の記事 ウォン称賛85 ビュー720 000 +

おすすめ

転載: blog.csdn.net/weixin_39274659/article/details/104495801