2017-03-27 14 views
-2

このプログラムを作成してテキストファイルを読み込んで、1行ずつ別のcvsファイルに書き込んで書き込みます。しかし、最初のtxtファイルを読み込み、別のtxtファイルを書き込み用に開き、txtファイル1の内容をカンマなしでtxtファイル2にコピーしたいと思います。たとえば、 "1,2、hello"という行は "1 2 hello"と読みます。私は現在、書き込み用にCSVファイルを開いていますが、書き込み用にtxtファイルを開くことをお勧めします。ファイルTXTあなたの入力を想定しCSVモジュールをインポートせずにTXTファイルをCSVファイルに書き込んで書き込む

import csv 

with open('texfile.txt', 'r') as in_file: 
    stripped = (line.strip() for line in in_file) 
    lines = (line.split(",") for line in stripped if line) 
    with open('csvfile.csv', 'w') as out_file: 
     writer = csv.writer(out_file) 
     writer.writerows(lines) 
+0

csvモジュールのソースを見て、それが何かを見ることができます。 –

+0

'csv'モジュールをインポートしないのはなぜですか? – Ben

+0

"私のプログラムでCSV関数をインポートせずにこれをしたいと思います" - それは悪い考えです。モジュールをインポートせずに 'csv.writer'を使用することはできません。 – TigerhawkT3

答えて

0

は(あなたが指定したもの)、単純な「.split()」機能を経由して解析しても安全である、基本的なCSVファイルへの書き込みは簡単です:

with open('csvfile.csv', 'w') as out_file: 
    for line in lines: 
    out_file.write(" ".join(line) + "\n") 

注:CSVモジュールを使用しても最適です。

+0

余分なスペースが追加されます。私はOPが単にopen(a)をi、open(b、w)をo:b.write(a.read()。replace( '、'、 ''))としたいと思うかもしれません。 – TigerhawkT3

関連する問題