【发布时间】:2021-11-26 15:51:45
【问题描述】:
为了将值从 10 更改为 18、19 或 20,我正在拆分字符串,访问子字符串,然后尝试更改它。它的工作,但只是不改变价值观。这是我正在尝试实施的解决方案:
oldFileName = 'tryout.hmo'
newFileName = 'tryout_NEW.hmo'
topoFileName = 'Density.topo'
readme = open( oldFileName, "r" )
oldLines = readme.readlines()
readme = open(topoFileName, "r")
Lines = readme.readlines()
readme.close()
newFile = open(newFileName,"w")
for row in oldLines:
for line in Lines:
tmp = line.split()
list = row.rstrip()
tmp1 = list.split()
newFile.write(row)
if row.find("BEG_ELEM_DATA") > -1:
if tmp[0] == tmp1[0]:
if tmp[2] == 1 and tmp[3] == 0:
# it is magnet, value 18
newFile.write(tmp1.replace(tmp1[1], "18"))
elif tmp[2] == 1 and tmp[3] == 1:
# it is iron, value 19
newFile.write(tmp1.replace(tmp1[1], "19"))
else:
# it is air, value 20
newFile.write(tmp1.replace(tmp1[1], "20"))
newFile.close()
如果你能在上面的脚本中解决这个问题,我将不胜感激,那么我想它应该可以工作。
【问题讨论】:
标签: python pandas dataframe loops csv