我正在合并两个与系统进程相关的csv文件。但是我想对标题进行类似的更改。 我正在使用的csv文件的示例(示例进程:'python'):
Date, Process(python)\% Processor Time, Process(python)\Thread Count, Process(python)\Working Set
xx/xx/xx xxxx xxxx xxxx
xx/xx/xx xxxx xxxx xxxx
xx/xx/xx xxxx xxxx xxxx
xx/xx/xx xxxx xxxx xxxx
xx/xx/xx xxxx xxxx xxxx
我有一个脚本会截断字符串,删除字符串中不需要的'Process(python)\'
部分。
使用print语句我可以验证所需的字符串是否正在打印到屏幕上。
% Processor Time
Thread Count
Working Set
但是,当我保存这个新的合并文件时,这些更改不会被保存。如何确保我为删除不需要的'Process(python)\'
所做的更改保存到输出文件中?
我的代码:
def merge_process_csv(path,processes):
for process_name in processes:
a = pd.read_csv(path+process_name+"_data_1.csv")
b = pd.read_csv(path+process_name+"_data_2.csv")
b = b.dropna(axis=1)
merged = a.merge(b, on='Date')
csvReader = csv.reader(merged)
for row in csvReader:
#Changes 'Process(python)\% Processor Time' into '% Processor Time'
row = truncate_string(row[0],"\\",1)
print row
merged.to_csv(path+process_name+".csv", index=False)
答案 0 :(得分:0)
您正在对csvReader进行更改,但不对merged
进行更改。如果您只想调整标题行,可以替换:
csvReader = csv.reader(merged)
for row in csvReader:
#Changes 'Process(python)\% Processor Time' into '% Processor Time'
row = truncate_string(row[0],"\\",1)
print row
与
merged.columns = [col[-1] for col in merged.columns.str.split('\\')]