gpt4 book ai didi

python - PySpark - 发送附有 CSV 的电子邮件,整个 CSV 显示在一行中

转载 作者:行者123 更新时间:2023-12-04 16:01:12 25 4
gpt4 key购买 nike

我有一个生成 DataFrame 的脚本。我将 DF 转换为 CSV,然后将其作为电子邮件附件发送。问题是标题+数据都在第一行,所以生成的 CSV 有 60k 列和 1 行。怎么了?

这是我的代码:

df.toPandas().to_csv("/dbfs/<path>/df.csv", mode='w+', encoding='utf-8')
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login("<email>", "<password>")

sender = "<email>"
recipient = "<email>"
msg = MIMEMultipart()
msg['Subject'] = 'I need help'
msg['From'] = sender
msg['To'] = recipient

filedata = sc.textFile("/dbfs/<path>/df.csv", use_unicode=False)
msg.attach(MIMEText('This is your test message with attachment...'))
part = MIMEApplication("".join(filedata.collect()), Name="df.csv")
part['Content-Disposition'] = 'attachment; filename="%s"' % 'df.csv'
msg.attach(part)
server.sendmail(sender, [recipient], msg.as_string())
server.close()

最佳答案

只是替换

"".join(filedata.collect()

"\n".join(filedata.collect())

sc.wholeTextFiles("/dbfs/<path>/df.csv").values().first()

甚至更好的写作 - 完全阅读例程:

MIMEApplication(df.toPandas().to_csv(), Name="df.csv")

关于python - PySpark - 发送附有 CSV 的电子邮件,整个 CSV 显示在一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50455680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com