我有一个power shell脚本和python脚本,它将数据写进一个普通的CSV文件。如果我在python脚本中使用关键字'w+',它会删除旧的数据并替换为新的数据。如果我使用关键字'a+',它就会不断地追加不被接受的数据。现在我只想更新CSV文件中特定键的列中的值。
我需要帮助,以了解如何解决这个问题。
Test.csv =>includes =>
Param_Name,Param_Value
p_resource_name,res123 #prints from powershell script
p_tag_name,tag123 #prints from powershell script
p_instance_count,0 #prints from Python script
p_volume_count,0 #prints from Python script
Powershell.ps1=>
$file_path="C:\test.csv"
$csv = Import-Csv -Path $file_path
$result = Foreach ($row in $csv)
if ($row.Param_Name -eq "p_instance_count") { $row.Param_Value = $instance}
if ($row.Param_Name -eq "p_volume_count") { $row.Param_Value = $volume}
Python.py =>
f = csv.writer(codecs.open("C:/test.csv", "ab"), lineterminator="\n")
instances = conn.instances.filter(Filters=[{'Name': 'instance-state-name',
'Values': ['running', 'stopped']}])
for instance in instances:
instance_count.append(instance)
instanceCount = str(len(instance_count))
f.writerow(('p_instance_count', len(instance_count)))
因此,这是我的代码,首先我运行Powershell,它应该更新csv,然后我运行一个python脚本,再次更新同一个CSV的计数。
谁能建议一个好的更新方法?