2016-05-26 13 views
0

入力CSVファイルでこれを言います。私はBabys列の上に行くと、私がやったこと1CSVの列値をPythonを使って変更する

によって数を増やすにそれを変更したい

enter image description here

は、ファイル内にあるどのように多くの行カウントし、ために実行することですそれらすべてのループ。 しかし、私はあなたがnによって列数を増やすためのpython pandasを使用できる値

v = open(input.csv) 
    r=csv.reader(v) 
    numline = len(v.readlines()) 
    print (numline) 
    for row in r: 
     if row["Baby"] == "Baby": 
      for i in range (1, numline): 
       print("test") 
+1

あれば、http://stackoverflow.com/help/mcveを読んでみて、エラーメッセージで試みられたコードを入力してください感謝 – glls

+0

そして、このようなAを含めないでくださいイメージとしてのシンプルなCSV。それは簡単にコードブロックとして含めることができます。 –

答えて

4
PDとして

輸入パンダをpandasモジュールを使用するときには非常に簡単に行うことができ

# read/parse CSV into pandas data frame 
df = pd.read_csv('input.csv', delim_whitespace=True) 

出力:

In [33]: df 
Out[33]: 
    Name Age Babys 
0 Avi 25  1 
1 Dav 24  1 
2 Ela 30  1 
3 Ron 40  1 
4 Shi 33  1 
5 Leb 22  1 
6 Moe 11  1 

は条件付きで1

df.loc[(df.Name.isin(['Avi','Dav','Ron'])) & (df.Age < 33), 'Babys'] += 1 
によって Babys列を増やします

出力:ため1によって

In [35]: df 
Out[35]: 
    Name Age Babys 
0 Avi 25  2 
1 Dav 24  2 
2 Ela 30  1 
3 Ron 40  1 
4 Shi 33  1 
5 Leb 22  1 
6 Moe 11  1 

増加Babys列を(無条件に)すべて

df.Babys += 1 

出力:

In [43]: df 
Out[43]: 
    Name Age Babys 
0 Avi 25  3 
1 Dav 24  3 
2 Ela 30  2 
3 Ron 40  2 
4 Shi 33  2 
5 Leb 22  2 
6 Moe 11  2 

最後に戻ってCSVファイルに変更されたDFを保存します。

df.to_csv('d:/temp/out.csv', index=False, sep=',') 

out.csv:

Name,Age,Babys 
Avi,25,3 
Dav,24,3 
Ela,30,2 
Ron,40,2 
Shi,33,2 
Leb,22,2 
Moe,11,2 
1

を変更する方法を見つけ出すカント:

import pandas 
data_df = pandas.read_csv('input.csv') 
data_df = data_df['age'].apply(lambda x: x+n) 
print data_df 

1nを交換1を追加するため。

関連する問題