Ниже приведен набор данных
. Цель состоит в том, чтобы выбрать идентификатор песни по крайней мере с 1 композитором и 1 издателем по крайней мере в одной строке.Например, у songid 4 есть 2 строки с 2 разными композиторами, но нет издателя, а у песни id 1 нет композитора.Цель состоит в том, чтобы отклонить такие листы Excel, используя Python (панды). Любые предложения?
import pandas as pd
import numpy as np
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
df_header = pd.read_csv('New York Yankees Twins at Yankees-FNG-042318.csv',header=None,skiprows=1)
cuesheetprepareremail = df_header.iloc[0,7]
print(cuesheetprepareremail)
df = pd.read_csv('New York Yankees Twins at Yankees-FNG-042318.csv',
names=['CUE','SONG TITLE','USAGE','RUNNING TIME','COMPOSER','COMPOSER PRO','COMPOSER % SHARE','PUBLISHER',' PUBLISHER PRO','PUBLISHER % SHARE' ,'TRACK ID','LIBRARY','ARTIST','START TIME'
],skiprows=7)
#select all rows with same cue number
columns = ['CUE','COMPOSER','PUBLISHER']
df1 = pd.DataFrame(df,columns=columns)
df1 = df1.replace('', np.NaN)
gp = df1.groupby('CUE').count()
fileToSend = 'New York Yankees Twins at Yankees-FNG-042318.csv'
emailfrom = ''
emailto = 'xyz@abc.com'
username= ''
password = ''
msg = MIMEMultipart()
msg['Subject'] = 'Enco error testing'
msg['From'] = emailfrom
msg['To'] = emailto
msg.preamble = 'Enco error testing'
if gp[(gp['COMPOSER'] == 0) | (gp['PUBLISHER'] == 0)] :
# Send the email via our own SMTP server.
server = smtplib.SMTP('localhost')
server.starttls()
server.login(username,password)
server.sendmail(emailfrom, emailto, msg.as_string())
server.quit()