我正在尝试用大文本的另一列中的单词替换一列中的单词。
数据:
桌子和椅子坏了
孩子们在街上玩耍
我有很多猫。
文本列
缩写,缩写
表格,表格
椅子,椅子
是,
失败,失败
断,破
孩子,孩子
玩,玩
猫,猫
月光,月光下
import csv
with open('data.csv', 'r') as file, open('text-columns.csv', 'r') as columns:
text = csv.reader(file)
text_csv = csv.reader(columns, delimiter = ',')
for rows in text_csv:
new_rows = ','.join(word for word in rows)
for lines in text:
new_lines = ''.join(line for line in lines)
for elements in new_rows:
new_text = new_lines.replace(elements[1], elements[0])
print (new_text)
好的输出:
桌子和椅子 休息
孩子 是 在街上玩
我有很多猫。
我的输出:
回溯(最近通话最近一次):
文件“ l.py”,第15行,位于
new_text = new_lines.replace(elements [1],elements [0])
IndexError:字符串索引超出范围
答案 0 :(得分:1)
这是一种方法。
例如:
import csv
with open('data.csv', 'r') as file, open('text-columns.csv', 'r') as columns:
text_csv = csv.reader(columns, delimiter = ',')
text_csv = list(text_csv)
res = []
for row in file:
if row:
for checkVal in text_csv:
if checkVal[1] in row:
row = row.replace(checkVal[1], checkVal[0])
res.append(row)
with open("out.csv", 'w') as file:
for row in res:
file.write(row)