Я пробовал несколько вещей и просто не могу получить что-то, что работает. В основном у меня есть файл XLSX, который имеет 3 столбца (имя, адрес электронной почты, номер телефона), а затем несколько строк. Телефонные номера начинаются с разных кодов стран «+ 1.xxxxxxxxxx» «+ 90.xxxxxxxxxx» «+34». и т. д. Первое, что я хочу сделать, это удалить все строки, которые не начинаются с «+1». и хотел бы дополнительно фильтровать, удаляя, очевидно, поддельный и/или неполный номер телефона, например, иногда люди используют «+1.5555555555» или не дают мне полные номера, поэтому я бы получил «+1.12345678» (не полный 10-значный номер число, 13, если вы считаете '+1.'). Затем, после всего этого, напишите его в .csv.Удалить строки, не содержащие значения в pandas
Мой код до сих пор выглядит следующим образом:
import pandas as pd
xl_file = pd.ExcelFile('testexcel.xlsx')
df = xl_file.parse('Sheet 1', index_col='Name', na_values=['NA'])
#df.drop(df.columns[[0]], axis=1, inplace=True)
df = df[df['Phone'] != '+1.*']
df.to_csv('testingpandas.csv')
# df.drop ... компонент был только я играл с df.dop и удаление столбцов в целом. Следующая строка - моя попытка использовать this answer, чтобы получить результат, который я хотел, но я просто не могу найти то, что правильно. И «*» в конце было тем, что я считал шаблоном.
Было бы лучше отфильтровать «+ 1», а затем написать что-то, что затем удаляет строки без общего количества строк 13 в этом столбце?
Я пробовал оба, и они оба ошибаются. Верхняя часть кажется отсутствующей «)», а также «]». Я думаю, что я забрал их в нужное место, но затем, когда он запускается, он просто возвращает пустой документ только с заголовком (имя, адрес электронной почты, телефон). Для подтверждения, вот код: ** df = df [(df ['Phone']. Str.startswith ('+ 1') & (df ['Phone']). Str.len() == 13)] ** Я добавил ']' после & df ['Phone' par, и ')' после 13 в конце, но до закрытия]. Просто хочу убедиться, что это правильно. – Mxracer888
Другой ошибочно говорит: «Ошибка имени: глобальное имя« x »не определено. К сожалению, я не знаю, как это исправить. Извините, я до сих пор довольно новичок в этом:/ – Mxracer888
Извините, у меня действительно были некоторые синтаксические ошибки.Я исправил оба моих примера, поэтому, пожалуйста, попробуйте их снова. Если вы все еще получаете пустой фреймворк, это означает, что, по-видимому, ни одна строка не имела значения в столбце «Телефон», который начинается с '+ 1' и имеет длину 13 символов (включая '+ 1' и' .'). – DeepSpace