如何从2个csv文件中查找和替换单词

时间:2017-07-18 09:12:33

标签: python csv

我正在尝试使用索引csv文件替换csv文件的列名,其中列名称以公共ID给出。我需要用id替换列名。

例如,密钥文件就像这样

move data from register X to register Y

我的值文件有点像这样

    ids colnames
1   col1    val1
2   col2    val2
3   col3    val3
4   col4    val5
5   col5    val4

我的输出有点像这样

val1    val2    val3    val4    val5
a   2   2   2   2
b   3   3   3   3
c   4   4   4   4
d   5   5   5   5
e   6   6   6   6
f   7   7   7   7
g   8   8   8   8

我写了一个代码来做,但我无法替换列名。请帮忙。

col1  col2  col3  col4  col5
    a   2   2   2   2
    b   3   3   3   3
    c   4   4   4   4
    d   5   5   5   5
    e   6   6   6   6
    f   7   7   7   7
    g   8   8   8   8

如果输出文件本身可以是csv文件,那将更有帮助。

1 个答案:

答案 0 :(得分:0)

此代码应该有效。

with open('trial.csv.txt','r') as file:
    trial_raw = file.read()
trial = trial_raw.split('\n')
del trial[0]

new_columns = []
for col in trial:
    col1= col.split(',')
    new_columns.append(col1[0])


with open('try.csv.txt','r') as file:
    try_raw = file.read()
try1 = try_raw.split('\n')
del try1[0]

new_columns_str= ''

for cols in new_columns:
    if new_columns.index(cols)!=len(new_columns)-1:
        new_columns_str+=cols+','
    else:
        new_columns_str+=cols

#Inserts the new columns
try1.insert(0,new_columns_str)

new_file = ''

for line in try1:
    if try1.index(line)!=len(try1)-1:
        new_file+=line+'\n'
    else:
        new_file+=line
with open('trialop.csv','w')as file:
    file.write(new_file)