numpyモジュールなどに関するいくつかの関連記事を見てきました。csvモジュールを使用する必要があり、これで機能するはずです。ここではcsvモジュールの使用について多くのことが書かれていますが、探していた答えはまったく見つかりませんでした。よろしくお願いします
基本的に、私は次の関数/擬似コードを持っています(タブはうまくコピーされませんでした...):
import csv
def copy(inname, outname):
infile = open(inname, "r")
outfile = open(outname, "w")
copying = False ##not copying yet
# if the first string up to the first whitespace in the "name" column of a row
# equals the first string up to the first whitespace in the "name" column of
# the row directly below it AND the value in the "ID" column of the first row
# does NOT equal the value in the "ID" column of the second row, copy these two
# rows in full to a new table.
たとえば、innameが次のようになっている場合:
ID,NAME,YEAR, SPORTS_ALMANAC,NOTES
(最初の1000行)
1001,New York Mets,1900,ESPN
1002,New York Yankees,1920,Guiness
1003,Boston Red Sox,1918,ESPN
1004,Washington Nationals,2010
(最後の行までの最後の大量の行)
1231231231235,Detroit Tigers,1990,ESPN
次に、出力を次のようにします。
ID,NAME,YEAR,SPORTS_ALMANAC,NOTES
1001,New York Mets,1900,ESPN
1002,New York Yankees,1920,Guiness
文字列「New」は「Name」列の最初の空白まで同じ文字列であり、IDが異なるためです。明確にするために、「New」の正規表現は必要なものではないため、コードをできるだけ一般化できるようにする必要があります。これは、一般的な最初の文字列が実際には任意の文字列である可能性があるためです。そして、最初の空白の後に何が起こるかは問題ではありません(つまり、「ワシントンナショナルズ」と「ワシントンDC」は、上記のニューヨークの例のように、私にヒットを与えるはずです...)
Rには、特定の行の値で簡単に検索するためのinname $ nameという方法があるため、混乱しています。最初にRでスクリプトを書いてみましたが、混乱しました。だから私はPythonに固執したい。