将.txt文件重命名为在文件第一行用逗号分隔的值?

时间:2013-10-30 16:40:01

标签: python csv file-rename

关注此主题:Rename .txt files to first line in file? 我想出了这个代码:

import os
for filename in os.listdir("."):
   if filename.endswith(".txt"):
        base, ext = os.path.splitext(filename)
   with open(filename, 'r') as infile:
        newname = infile.next().rstrip()
   newname += ext
   os.rename(filename, newname)

这很好用,但我真正需要的是将文件命名为不是在整个第一行之后,而是在逗号之间放置字符串之后。第一行有逗号(csv)分隔的各种值,我需要用第二个值重命名文件,即第二个和第三个逗号之间出现的文本字符串。

我找到了一个csv模块,但我不知道它是否有用或如何使用它。我发现我可以这样导入它:import unicodecsv as csv以避免奇怪的字符问题。

任何帮助将不胜感激。 感谢

2 个答案:

答案 0 :(得分:4)

ummm

newname = infile.next().rstrip().split(",")[2]

可能?不确定从问题中难以辨别

答案 1 :(得分:0)

坦克到@Joran比斯利它运作得非常好,现在的代码是:

import os
for filename in os.listdir("."):
   if filename.endswith(".csv"):
        base, ext = os.path.splitext(filename)
   with open(filename, 'r') as infile:
        newname = infile.next().rstrip().split(",")[1]
   newname += ""
   os.rename(filename, newname)