私は大きなファイル.csv
と50個のカラムを持っています。最初のフィールドは "name
"です。最後の2つのフィールドは正と負の両方の数字を持ちます。私は最後の2つのフィールドを通過し、両方のフィールドの値が負である行を取得したい。 3つのフィールドがある新しいファイルを作成します。最初のものは名前で、2番目と3番目のフィールドは対応する値を持ちます(両方とも負です)。ここに入力と出力の例を示します。csvモジュールを使ってPythonでフィールドを抽出する
入力:
ZNF449 -1.53 -0.45
CASKIN1 -1.58 -1.42
CAMK2B 0.31 0.23
RP11-644F5.11 -1.12 -0.94
DET1 -0.42 -0.44
NEK8 0.04 -0.4
CPM 1.26 1.16
CA11 0.16 0.08
DSE -0.06 0.12
GALM -0.03 0.04
HSPA12A 0.22 0.14
CCDC82 0.33 0.76
AC025171.1 1.24 1.27
CARD14 -0.91 -0.79
が出力:
ZNF449 -1.53 -0.45
CASKIN1 -1.58 -1.42
RP11-644F5.11 -1.12 -0.94
DET1 -0.42 -0.44
CARD14 -0.91 -0.79
私はPythonでそれを行うことができますか?
私はこれを試しましたが、私が欲しいものを返せませんでした。
import csv
with open('data.csv', 'r') as file, f = open('out.csv', 'w')
dat = csv.reader(file, delimiter=',')
for row in dat:
if row[39] == row[40]:
new = row[0] + row[39]
f.write(new + "\n" )