我的代码将我的数据写入.txt文件:
LineCount
结果:
<TabControl ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
<TabControl.ItemTemplate>
<DataTemplate DataType="local:Item">
<TextBlock Text="{Binding Header}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate DataType="local:Item">
<TextBox Text="{Binding TextFile, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="True" TextWrapping="Wrap">
<i:Interaction.Behaviors>
<local:LineCountBehavior LineCount="{Binding LineCount, Mode=OneWayToSource}"/>
</i:Interaction.Behaviors>
</TextBox>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
但是我希望我的数据在.csv格式的表格中
with open(file_path, 'w') as f:
id = 1
for line in value:
line = re.sub('[^A-Za-z0-9-,]+', '', str(line))
ymax, xmax, xmin, ymin=line.split(',')
f.write(('{{\'yMax\': u\'{}\', \'xMax\': u\'{}\', \'xMin\': u\'{}\',\'yMin\': u\'{}\', \'id\': \'{}\', \'name\': \'\'}}'.format(ymax, xmax, xmin, ymin,id)))
id = id + 1
我如何调整我的代码,从我已经拥有的.txt格式转到我想要的.csv格式?作为图像的多余列只是txt的文件名但是.png而不是txt这么容易使用{'yMax': u'156', 'xMax': u'4802', 'xMin': u'4770','yMin': u'141', 'id': '1', 'name': ''}
{'yMax': u'157', 'xMax': u'4895', 'xMin': u'4810','yMin': u'141', 'id': '2', 'name': ''}
我可以稍后调整我的主要问题是表格形状。
答案 0 :(得分:1)
这应该有所帮助。使用csv.DictWriter
with open(file_path, 'w') as f:
writer = csv.DictWriter(f, delimiter='\t', fieldnames=['yMax', 'xMax', 'xMin', 'yMin', 'id', 'name']) #Tab seperated
writer.writeheader() #Add header
for i, line in enumerate(value, 1): #enumerate to get id
line = re.sub('[^A-Za-z0-9-,]+', '', str(line))
ymax, xmax, xmin, ymin=line.split(',')
d = {'yMax': ymax,'xMax': xmax, 'xMin': xmin,'yMin': ymin, 'id': i, 'name': ''}
writer.writerow(d)
注意:这是示例代码。