повысить ValueError («Невозможно преобразовать {0! r} в Excel» .format (значение)) - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь использовать функцию 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...