#python #pandas
Вопрос:
У меня есть 500 файлов tsv в папке, это выглядит так:
#Text=Identifying atypical objects is one of the traditional topics in machine learning.
1-1 2-13 Identifying Problem[1]
1-2 14-22 atypical Problem[1]
1-3 23-30 objects Problem[1]
1-4 31-33 is _
1-5 34-37 one _
1-6 38-40 of _
1-7 41-44 the _
1-8 45-56 traditional _
1-9 57-63 topics _
1-10 64-66 in _
...
Я удалил комментарий #и первые две колонки, используя следующий код:
import os
import pandas as pd
path = "All_TSV_Files"
files = [file for file in os.listdir(path) if file.endswith(".tsv")]
c=0
for file in files:
df = pd.read_csv(os.path.join(path, file),
comment='#',
header=None,
sep='t',engine='python',error_bad_lines=False)
df.drop(df.columns[[0, 1]], axis=1, inplace=True)
df.to_csv(os.path.join(path, f'admin{c}.txt'),index=False,header=False)
c =1
моя проблема в том, что в некоторых файлах tsv отсутствует столбец тегов, выглядит так :
1-1 2-13 Identifying
1-2 14-22 atypical
1-3 23-30 objects
1-4 31-33 is
1-5 34-37 one
1-6 38-40 of
1-7 41-44 the
1-8 45-56 traditional
1-9 57-63 topics
1-10 64-66 in
как я могу удалить файлы, в которых отсутствует столбец?
Комментарии:
1. Только напишите csv, если
len(df.columns)>3
?
Ответ №1:
Напишите простое условие, чтобы пропустить текущий файл
if 'tags' not in df.columns:
continue