如何以csv格式正确添加数据?

时间:2018-04-23 13:04:07

标签: python python-3.x csv

我的代码将我的数据写入.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': ''} 我可以稍后调整我的主要问题是表格形状。

1 个答案:

答案 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)

注意:这是示例代码。

相关问题