私がしようとしているのは、CSVの列から特定の値を読み込み、対応する行をPythonで新しいファイルに書き込むことです。 行をすべて新しい.txtファイルに書き込むことはできますが、特定の行のみを新しいファイルに書き込むことができません。行を繰り返し、特定の行条件に基づいて新しいファイルに書き込む
次のようにデータが見える:ここ
card_no items qty price
10001 carrot 3 15.50
10002 squash 5 12.68
10003 pear 5 13.50
各行上のzipファイルを読み込むコード(単一の.csvが内部に含まれている)および反復である/新しいtxtファイルに行を書き込みます。 。
import os
import zipfile
with open(working_directory + "crash_test.txt",'w') as ofile :
with zipfile.ZipFile('/Users/MikeRalston/Desktop/testArchive2.zip') as z:
for filename in z.namelist():
if not os.path.isdir(filename):
with z.open(filename) as f:
for idx, line in enumerate(f.readlines()) :
###if "card_no" == int(10001):
line = line.decode('UTF-8').split (",")
ofile.write("\t".join(line) + "\n")
「if」ステートメントは、私がうんざりしていると信じている場所です。
うん。 'if" card_no "== int(10001):' **は決して 'True' **です。 csvsを 'csv'モジュールで解析します。また、 'int(10001)'は冗長であり、 '10001'は' int'リテラルなので、常に 'int'の型になります。 –