2017-12-14 11 views
1

私はPythonのnoobieで、このタスクを手に入れました。これは起動に問題があります。Python IPアドレス管理モジュール

私はIP.logは、この情報を使用してファイルしました:

12.0.0.1 120 x 
188.1.1.1 12 x 
199.1.1.1 3 
99.1.5.5 1

Bassically私は、このような機能でアプリを作るためにしました:、IPでファイルをソートレコードの削除、レコードの追加、markinf /マーク解除IPアドレス、レコードの編集、カウントをゼロにリセットします。読み取られたファイルは次のように表示されます:

 1 | 12.0.0.1 | 120 | x 
    2 | 188.1.1.1 | 12 | x 
    3 | 199.1.1.1 | 3 |  
    4 | 99.1.5.5 | 1 |

私はトラックになるのを助けるために助けてください。

+2

'pandas'はどうしますか? 'sep =" "'で 'pandas.read_csv'を使用してください – MMF

+0

BTW:標準モジュール[ipaddress](https://docs.python.org/3/library/ipaddress.html) – furas

+0

BTW: panda'(ただし 'csv')の場合は、[PTable](https://pypi.python.org/pypi/PTable/0.9.0)、[tabulate](https://bitbucket.org/astanin/python -tabulate)を使用して表を表示します。 – furas

答えて

0

あなたはこれを試すことができます。

のpython3:

s = ['12.0.0.1 120 x', '188.1.1.1 12 x', '199.1.1.1 3', '99.1.5.5 1'] 
with open('filename.txt', 'a') as f: 
    for i, line in enumerate(s, start=1): 
     f.write(('{} |'*(1+len(line.split()))).format(*[i, *line.split()])+'\n') 

Python2:

import itertools 
s = ['12.0.0.1 120 x', '188.1.1.1 12 x', '199.1.1.1 3', '99.1.5.5 1'] 
with open('filename.txt', 'a') as f: 
    for i, line in enumerate(s, start=1): 
     f.write(('{} |'*(1+len(line.split()))).format(*list(itertools.chain(*[[i], line.split()])))+'\n') 

出力:

1 |12.0.0.1 |120 |x | 
2 |188.1.1.1 |12 |x | 
3 |199.1.1.1 |3 | 
4 |99.1.5.5 |1 | 
0

あなたはモジュールpandasを使用することができます。次の操作を行います。

 
import pandas as pd 

# Load your data from the file 
data = pd.read_csv("path_to_the_file", sep=" ") 
              ^space here 

完了です! あなたのデータを見てみましょう:

data.head()
関連する問題