Я получаю это сообщение об ошибке: кодек 'ascii' не может декодировать байт 0xc3 в позиции 15: порядковый номер не в диапазоне (128), сначала произошел сбой из-за какой-то ошибки
Но я не знаю почему.
Вот мой код:
my_url = requests.get('https://www.telekom.hu/shop/categoryresults/?N=10994&contractType=list_price&instock_products=1&Ns=sku.sortingPrice%7C0%7C%7Cproduct.displayName%7C0&No=0&Nrpp=9&paymentType=FULL')
data = my_url.json()
results = []
products = data['MainContent'][0]['contents'][0]['productList']['products']
for product in products:
name = product['productModel']['displayName']
try:
priceGross = product['priceInfo']['priceItemSale']['gross']
except:
priceGross = product['priceInfo']['priceItemToBase']['gross']
url = telekom+product['productModel']['url']
results.append([name, priceGross, url])
df = pd.DataFrame(results, columns = ['Name', 'Price', 'Url'])
print df
print(df)
df.to_csv(r'/usr/src/Python-2.7.13/test.csv', encoding='utf-8' , sep=',',index = False )
me = 'email1'
password = 'password'
server = 'smtp.gmail.com:587'
you = 'email2'
text = """
Hello, Friend.
Here is your data:
{table}
Regards,
Me"""
html = """
<html><body><p>Hello, Friend.</p>
<p>Here is your data:</p>
{table}
<p>Regards,</p>
<p>Me</p>
</body></html>
"""
with open('test.csv') as input_file:
reader = csv.reader(input_file)
data = list(reader)
text = text.format(table=tabulate(data, headers="firstrow", tablefmt="grid"))
html = html.format(table=tabulate(data, headers="firstrow", tablefmt="html"))
message = MIMEMultipart(
"alternative", None, [MIMEText(text), MIMEText(html,'html')])
message['Subject'] = "Your data"
message['From'] = me
message['To'] = you
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(me, password)
server.sendmail(me, you, message.as_string())
server.quit()
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login("logininfo")
msg = "..."
server.sendmail("...")
server.quit()
Как я могу отправить это электронное письмо или расшифровать этот CSV?Я не хотел бы отправлять вложения, поэтому я хочу отправить таблицу.