-3

次のスレッド: 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) が含まれており、ファイルの名前を 2 番目の値、つまり 2 番目と 3 番目のカンマの間に表示されるテキストの文字列に変更する必要があります。

csv モジュールを見つけましたが、役立つかどうか、または使用方法がわかりません。この方法でインポートできることがわかりましたimport unicodecsv as csv。奇妙な文字の問題を回避するためです。

どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

4

うーん

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

多分?質問からはわかりにくい

于 2013-10-30T16:46:12.727 に答える
0

@Joran Beasleyへのタンクは完全にうまく機能しています。コードは次のとおりです。

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)
于 2013-10-30T17:02:07.080 に答える