【问题标题】:Listdir path should be a string. But i dont know what to do?Listdir 路径应该是一个字符串。但我不知道该怎么办?
【发布时间】:2019-09-18 06:02:48
【问题描述】:

我正在制作一个将 .nc 文件传输到 .csv 文件的程序。这是我遇到的错误,我不确定如何解决。

我用谷歌搜索了这个问题,我找不到适合这个的东西,抱歉

import os,sys
folder =("C:/Users/workexp/Downloads/weather.nc", "r")
for filename in os.listdir(folder): 
   infilename = os.path.join(folder,filename)
   if not os.path.isfile(infilename): continue
   oldbase = os.path.splitext(filename)
   newname = infilename.append('.nc,.csv')
   output = os.rename(infilename, newname)

预计会以 .csv 格式输出文件,但我遇到了这个问题, 谢谢大家

【问题讨论】:

  • 所以把它变成一个字符串。现在它是一个元组。为什么该元组中的 "r" 字符串?这不是对open() 的调用,不需要模式参数。
  • 例如folder = "C:/Users/workexp/Downloads/weather.nc"
  • 请参考os模块的官方文档
  • output = os.rename(infilename, newname) 是什么意思? os.rename() 不会返回任何东西,因为没有记录它有任何类型的返回值,所以 output 总是会设置为 None。在使用 os 模块之前,您是否阅读过有关它的文档?

标签: python csv export-to-csv


【解决方案1】:

以下代码获取“下载”文件夹中的所有文件,检查其是否具有 .nc 扩展名,并将文件名更改为 .csv

import os,sys

folder = "C:/Users/workexp/Downloads"
for filename in os.listdir(folder): 
    if os.path.isfile(filename): 
        file_name, file_extension = os.path.splitext(filename)
        if file_extension == '.nc':
            os.rename(filename,file_name+'.csv')

【讨论】:

  • 感谢 J.D,我的代码现在告诉我我有错误的目录,但我通过 cmd 和文件夹的属性检查了它是正确的路径。代码会影响这个吗?
猜你喜欢
  • 2020-09-26
  • 2021-06-21
  • 1970-01-01
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
相关资源
最近更新 更多