私はPythonを初めて使いました。この問題へのアプローチ方法については、助けてください。ここに私がやろうとしていることがあります:CSVを読み込んでキーワードリストに基づいて列を置き換えます。
- トランザクションのリストでCSVファイルを読む。各行には6つの列があります。
各行について、
DESCRIPTION
の列をキーワードのリストと比較して、キーワードリストに一致する単語があるかどうかを確認します。
任意の単語がキーワードリストから何かに一致した場合|Col0 | Col1 | Col2 | Col3 "DESCRIPTION" | Col4 | Col5 "CATEGORY"|
、その特定のキーワードリスト(例えば
"Groceries"
)に対応する新しいエントリでCATEGORY
列に置き換えます。- 各行をいくつかのキーワードリストと比較しながら続けます。一致する場合は、各行の列5(
CATEGORY
)を対応する値に置き換えます。 - 新しいCSVファイルに保存します。一覧はこちらを使用する権利のこと
import csv grocery_keyword = ['GIANT', 'SAFEWAY', 'KROGER'] with open('Trans.csv') as csvFile: reader = csv.reader(csvFile, delimiter=",") my_list = list(reader) for row in my_list: for index, item in enumerate(row): if any grocery_keyword in row: row[index] = item.replace("", "Grocery") newCSVFile = 'newCSVFile.csv' with open(newCSVFile, "w") as output: writer = csv.writer(output, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL, lineterminator='\n') writer.writerows(my_list) csvFile.close()
です:ここで
は、私がこれまで持っている何ですか?列とキーワードリストの比較はどのように行う必要がありますか?
は、おかげでそれを見つけました! – elboc
説明カテゴリが複数のキーワードと一致する場合、CATEGORYで何をご希望ですか? – scagnetti
良い質問ですが、私はこれまでこれまで考えていませんでした。私は相互に排他的なキーワードを持つリストを計画しました。キーワードと一致しない残りの行については、手動で並べ替える必要があります。 – elboc