特定の列に文字列を含むcsvファイルと、その他の値を含むCSVファイルがあります。私は弦のリストも持っています。 回線を循環するので、リスト内の文字列の1つがcsvファイルの行に正確に含まれているかどうか確認したいと思います。 この場合は、この行を新しいcsvファイルに書き込む必要があります。私はそれが正常に動作しますが、それは、文字列の「正確な」マッチングを考慮していない、このコードを書いたPython 2.7 CSVファイルの行に完全な文字列を一致させる
22/06/2017 04:00:32 | string1 | value1
22/06/2017 04:00:32 | string11 | value2
22/06/2017 04:00:32 | string2 | value3
22/06/2017 04:00:32 | string3 | value4
:
csvファイルは次のように行のリストです。
import os, csv
def filter_csv(folderpath):
list1 = [
('name1',1,'string1','value1'),
('name2',2,'string2','value2'),
('name3',3,'string3','value3'),
('name4',4,'string4','value4'),
...
]
def column(matrix, i):
return [row[i] for row in matrix]
col = column(list1,2)
for file in os.listdir("%s" % folderpath):
if file.endswith(".csv"):
new_file = 'new_'+file
filepath = os.path.join("%s" % folderpath, file)
new_filepath = os.path.join("%s" % folderpath, new_file)
with open('%s' % filepath) as csvfile:
lines = csvfile.readlines()
with open('%s' % new_filepath, 'wb') as csvfile2:
for line in lines:
for namevar in col:
if namevar in line:
csvfile2.write(line)
return
csvファイルの列に正確に一致する文字列を追加するにはどうすればよいですか?
を
.split()
かのものを使用することはありません - それは常にCSVモジュールを使用してCSVファイルを解析セットcsvファイルは、行のリストです。22/06/2017 04:00:32 |文字列1 |価値1 – giube