Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python .py脚本,用于自动执行函数_Python_Pandas_Csv - Fatal编程技术网

Python .py脚本,用于自动执行函数

Python .py脚本,用于自动执行函数,python,pandas,csv,Python,Pandas,Csv,我正在寻找一种方法来实现以下目标: 从电子邮件客户端导入附件,例如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 impo

我正在寻找一种方法来实现以下目标:

  • 从电子邮件客户端导入附件,例如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格式的当前日期时间?提前谢谢

我不太明白你的问题

据我所知,您希望“选择”一个文件,这意味着通过变量引用它,但如果是这样,我可能会错,我鼓励您编辑您的问题。 在你的代码中有很多硬编码的东西,你可能会遇到其他路径错误

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)

通过“选择带有('current date.csv')的文件,您会怎么做?请注意,使用pandasHi RomainL保存时,您可以使用所需的文件名保存它。好的,让我重新表述一下。当发送到ftp时,我需要csv名称如下-YYYYMMDD.csv。电子邮件附件中的原始文件尚未具有此名称。因此,当我从xlsx转换为csv时,我想将其保存为该格式的“当前_数据”。恐怕不是,我的代码已经输入了正确的名称,但现在只需两步。虽然我希望在转换成带有pandas的cvs后直接重命名它。我不明白你的问题。对不起