🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Q&A

1回答

677閲覧

ある列に特定の文字列を含んだ行を削除したい

kuniima

総合スコア2

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

0グッド

0クリップ

投稿2020/12/27 14:10

CSVファイルを読み込んで、その中の特定の列の文字列と、別途テキストファイルの文字列が一致する場合、その行を削除したいのですがうまくできません。

以下にコードを記載しますが、for文の前後で行数等に変化がありません。
ご助言を頂けますと幸いでございます。

df=pd.read_csv('drive/My Drive/image chest X-ray/Data_Entry_2017_v2020_R1.csv',dtype=object)
print(df)

with open('/content/drive/My Drive/image chest X-ray/test_list.txt') as f:
for text in f:
text=str(text)
df=df[~df["Image Index"].str.contains( text )]

print(df)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

radames1000

2021/01/01 08:15

タグに使用言語を含めるといいですよ。
guest

回答1

0

別途文字列を保存しているテキストファイルの行の前後の空白とかを取り除く,
次のような感じでどうでしょう?
あくまで文字列は「一行につき一つ」という前提ですが…

python

1with open('/content/drive/My Drive/image chest X-ray/test_list.txt', 2 mode='r') as f: 3 lines = f.readlines() 4 for line in lines: 5 text = line.strip() 6 df = df[~df["Image Index"].str.contains( text )]

投稿2022/08/27 08:02

ujimushi_sradjp

総合スコア2152

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問