複数のテキストファイルを1つのCSVファイルに変換したい。テキストの名前は(file1.txt、file2.txt .... file1000.txt)です。1000テキストファイルを1つのCSVファイルに変換する
Employee id: us51243
Employee name: Mark santosh
department:engineering
Age:25
私はouputをしたい:テキストファイル(FILE1.TXT)は次のようなフォーマットがある
Employee id,Employee name,department,Age
us51243,Mark santosh,engineering,25//(file1.txt values)
...................................//(file2.txt values)
しかしouputをして、私は次のようにのみfile1000.txtの値を取得しています:ここで
Employee id,Employee name,department,Age
us98621,Andy Gonzalez,Support & services,25
は私のコードです:
import csv
import os
for x in range(1,1001):
filepath=os.path.normpath('C:\\Text\\file{}.txt'.format(x))
with open(filepath) as f, open('emp.csv', 'w',newline='') as file:
writer = csv.writer(file)
val = zip(*[l.rstrip().split(': ') for l in f])
writer.writerows(val)
は親切に注意してください。また、私は一度だけ
各ファイルには4つの静的フィールドしかありませんか?各ファイルに4つのフィールドを持つ1000個のファイル? – RomanPerekhrest
私は古い行が毎回上書きされると思います。 '( 'emp.csv'、 'w +'、newline = '')'を使って、行を書き換えずに行を追加します。 '( 'emp.csv'、 'a'、newline = '')'もオプションになります。 – hansTheFranz
@RomanPerekhrestはい、各ファイルには4つの静的フィールドしかありません – sultan