读取文件名,操作然后保存

时间:2015-04-02 22:05:16

标签: python csv

基本上我正在阅读名为Sounding的文件,其名称为' 12142014_2345.csv'我想把它保存为

' 12142014_2345_Averaged.csv'

以下是我导致的代码。

basename = os.path.basename(Sounding)
basename,ext = os.path.split(basename)
    with open(os.path.join(basename+'_Averaged'+ext)) as f:
           w = csv.DictWriter(f, rows_1[0].keys())
           w.writeheader()

这是我的错误。

Traceback (most recent call last):
  File "C:\Users\Bud\Desktop\OWLES RECENT\Moving Average.py", line 151, in <module>
    with open(os.path.join(basename+'_Averaged'+ext)) as f:
IOError: [Errno 2] No such file or directory: u'_AveragedUIllinois_20131207Singular.csv'

我不确定我做错了什么。

2 个答案:

答案 0 :(得分:1)

您希望使用os.path.splitext(拆分扩展名)而不是split(拆分最后一个路径元素)。 并且不要忘记以写入模式打开文件(并检查缩进):

basename,ext = os.path.splitext(basename)
with open(os.path.join(basename+'_Averaged'+ext), 'w') as f:
       w = csv.DictWriter(f, rows_1[0].keys())
       w.writeheader()

答案 1 :(得分:0)

查看跟踪中的文件名,您可以看到&#39; _Averaged&#39;在完整的文件名之前。 os.path.split查找目录分隔符(通常为斜杠)。我想你想要os.path.splitext,它将字符串拆分为路径和扩展名。由于您已经只有基本名称,因此路径将是没有扩展名的文件名。