我正在尝试使用索引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文件,那将更有帮助。
答案 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)