【问题标题】:.py script for automating a function用于自动化功能的 .py 脚本
【发布时间】:2020-04-21 15:00:14
【问题描述】:

我正在寻找一种方法来执行以下操作:

  • 从电子邮件客户端导入附件,例如 Gmail
  • 保存此文件 XXX.xlsx -> 将其转换为 CSV,但名称格式的日期为 YYYYMMDD.csv
  • 最后这需要上传到特定的 SFTP 文件夹。

每天都这样。

我目前拥有的东西

import pandas as pd
df = pd.read_excel('file_from_email.xlsx')
df.to_csv('2020.csv') 


## covert file to correct date

import os
import datetime

Current_Date = pd.to_datetime('today').strftime('%m%d')
os.rename(r'C:\temp\conversion\2020.csv',r'C:\temp\conversion\2020' + str(Current_Date) +'.csv')

如何将其转换为 csv 并在一个操作中将文件名称更改为 YYYYMMDD.csv 格式的当前日期时间?提前谢谢

【问题讨论】:

  • “选择带有('当前日期'.csv)的文件”是什么意思?注意用pandas保存的时候可以用想要的文件名保存

标签: python pandas csv


【解决方案1】:

我不确定你的问题,

据我了解,您想“选择”一个文件,IMO 表示通过变量引用它,但如果这样我可能是错的,我鼓励您编辑您的问题。 您的代码中有很多硬编码的东西,您可能会遇到其他路径错误...

out_file=os.path.join(r'C:\temp\conversion\2020', str(Current_Date) +'.csv')
# this variable out_file is the path to file your want.
# if you rename
os.rename(r'C:\temp\conversion\2020.csv', out_file)

# you can now access the file by its path using out_file. if it exists

编辑:我不确定您的要求。据我了解,您的问题是关于如何以您选择的格式命名文件。

#replace your Current date in your code by that:
Current_Date = datetime.date.today().strftime("%Y%m%d")
print(Current_Date)

【讨论】:

  • 嗨 RomainL.,好的,让我改写一下。我需要具有如下的 csv 名称 - YYYYMMDD.csv 发送到 ftp 时。电子邮件附件中的原始文件还没有此名称。因此,当我从 xlsx 转换为 csv 时,我希望将其保存为该格式的“current_data”。
  • 恐怕不行,我的代码已经输入了正确的名称,但现在分两步。虽然我希望在使用熊猫转换为 cvs 后直接重命名它。
  • 我不明白你的问题对不起
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 2018-08-18
  • 1970-01-01
  • 2022-07-01
  • 2020-10-20
  • 2022-01-24
  • 2017-08-13
相关资源
最近更新 更多