我正在尝试使用 python 的 ftplib 模块将 csv 文件存储在 ftp 服务器上。现在,我有大约 30 行代码,它们在二维数组中生成天气值的概率。然后我将此二维数组写入 csv 文件。
当我将 csv 文件写入本地驱动器时,该文件在 excel 中按预期显示。但是,当我将文件上传到 ftp 服务器后查看文件时,我看到每行后都添加了一个换行符。
我做了一些小测试,看看可能是什么问题,我已经能够使用 coreftp 上传 csv 文件。执行此操作后,csv 文件正确显示。所以我很确定文件没问题,它是在 python 将它上传到 ftp 服务器时发生的。
我最初是创建一个带有 .csv 扩展名文件的文本文件,然后将其作为二进制文件重新打开并上传。我认为这可能是问题,所以我尝试使用 csv 模块,但同样的问题。
这是我目前的代码...
TEMPSHEADER = [i-50 for i in range(181)]#upper bounds exclusive
WINDSHEADER = [i for i in range(101)]#upper bounds exclusive
HEADER = TEMPSHEADER + WINDSHEADER
for site in ensmosdic:
ensmos = ensmosdic.get(site)
with open(utcnow.strftime("%Y-%m-%d") + "-" +site+"-prob.csv","w",newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=",")
writer.writerow(["CODE ","F","ForecastDate","HOUR"]+HEADER)
siteTable =[[0 for x in range(286)] for y in range(24,169)]#upper bounds exclusive
###########
#other code here, but not important with regards to post
###########
for i in siteTable:
writer.writerow(i)
csvfile.close()#not sure if you have to close csv file, not in csv module docs
f = open(utcnow.strftime("%Y-%m-%d") + "-" +site+"-prob.csv","rb")
ftpInno.storbinary("STOR " + utcnow.strftime("%Y-%m-%d-") + site +"-prob.csv",f)
f.close()
ftpInno.close()
提前致谢