ファイルの中身を書き換えたいです。user.csvの中に、testと書いてある部分が複数箇所あるのですが、それを空に置換したいです。
# coding: UTF-8 import sys import os import re import codecs path = ‘user.csv' f = open(path) lines = f.readlines() read_file = codecs.open(f, 'r', 'shift_jis') write_file = codecs.open(f, 'w', 'shift_jis') lines2 = [] for line in lines: line = line.replace(“test”,””) lines2.append(line) write_file.write(''.join(lines2)) read_file.close()
という風にコードを書きました。このコードを実行すると、
Traceback (most recent call last): File "convert.py", line 16, in <module> read_file = codecs.open(f, 'r', 'shift_jis') File “/xxx/anaconda3/lib/python3.6/codecs.py", line 897, in open file = builtins.open(filename, mode, buffering) TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper
とエラーが出ました。
f = open(path)
でファイルは取ってこれているので、エラーをググったのですが、なぜエラーになるのかわかりません。
どうコードを修正したら良いでしょうか?
回答1件
あなたの回答
tips
プレビュー