直接在FTP服务器上创建CSV文件

时间:2015-02-03 08:15:39

标签: python csv ftp

我使用Python csv库创建了一个CSV文件。

创建所有CSV文件后,我的第二个任务是将它们放在FTP服务器上。

为实现这一目标,我在Linux计算机上的/tmp文件夹中生成所有文件,然后打开FTP连接,并将它们全部上传到远程服务器。

我的问题是:可以在内存缓冲区中创建CSV文件并将它们直接放在我的FTP服务器上吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用StringIO(或更好的cStringIO)在内存中生成文件。 你可以尝试这样的事情:

import csv
from ftplib import FTP
from cStringIO import StringIO

...
ftp = FTP(host, user, passwd)
ftp.login()
output = StringIO()
data = csv.writer(output)
data.writerow(["data"] * 5)
output.seek(0)
ftp.storbinary("STOR data.txt", output)
...

请注意,这不是完全可行的代码,您可能需要进行一些更改,具体取决于您的FTP配置。例如,我必须添加ftp.set_pasv(False)才能使其与我的测试FTP一起使用。