Я пытаюсь использовать функцию df.dropna
и хочу вложить ее несколько раз, используя и знак ',' и или используя знак '|' в соответствии с документами https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html#pandas .DataFrame.dropna . В моем коде я преобразовываю CSV-файл в pandas, затем я корректирую данные в столбцах
df = df[['Lastname', 'Firstname','Company','Title','Willing_to_share','Willing_to_introduce','work_phones','Work_email','Work_Street','Work_City','Work_State','Work_Zip','Personal_Street','Personal_City','Personal_State','Personal_Zip','mobile_phones','Personal_email','Note','Note_Category']]
##print(df)
## Lastname Firstname Company Title Willing_to_share \
0 Doe Jane
1 Malcoun Joe 8/28/2019 14:29
2 Ramirez Morgan
3 Burki Roman
4 None Jordan
5 None
6 Zachuani Reemo
7 Suarez Geraldo
Willing_to_introduce work_phones Work_email \
0 5678743546 j@greenbriar.com
1 None ceo@nutshell.com
2 3338765438 mramirez@nerdy.com
3 5468756098 burki@bvb.com
4 None jordanw45490@gmail.com
5 None ronny
6 None
7 None
Work_Street Work_City Work_State Work_Zip Personal_Street \
0 54 George street Ridge Springs VA 25678
1 212 South Fifth Ave Ann Arbor MI 48103
2 567 one st Birmingham AL 45678
3 546 fourteen street Nw Dallas TX 54678
4
5
6
7 456 yellow street
Personal_City Personal_State Personal_Zip mobile_phones Personal_email Note \
0 3245687907
1 None
2 6780431874
3 0983457690
4 None
5 None
6 None
7 None
Note_Category
0
1
2
3
4
5
6
7
Я создал рабочие книги перед оператором if
wb = Workbook()
ws = wb.active
wb.title = 'Contacts'
wb2 = Workbook()
ws2 = wb2.active
wb2.title = 'Contacts'
I помещаю заголовки столбцов внутри функции. Я пытаюсь найти правильные строки, которые должны иметь имя, фамилию и хотя бы один телефон, либо адрес или адрес электронной почты любого типа (личный или рабочий), не ноль. Затем я собираюсь поместить его в таблицу данных Excel. Тогда обратная функция внутри второй таблицы данных
r1 = df.dropna(subset=['Firstname', 'Lastname', ('work_phones' or 'mobile_phones') or (('Work_City','Work_Street','Work_State','Work_Zip') or ('Personal_Street','Personal_City','Personal_State','Personal_Zip')) or ('Work_email' or 'Personal_email')])
for r in dataframe_to_rows(r1, index=False, header=False):
ws2.append(r)
wb.save("Accepted Contacts.xlsx")
Однако я получаю эту ошибку при запуске
raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert ['Doe', 'Jane', nan, nan, nan, nan, '5678743546', 'j@greenbriar.com', '54 George street', 'Ridge Springs', 'VA', '25678', nan, nan, nan, nan, '3245687907', nan, nan, nan] to Excel