如何在Python中向输出文件添加新列?

3

我已经用Python编写了这段代码。我该如何在每一行中添加一个名为"qty"的新列,并将数字 "1" 放入其中?

这是文件 tripo

{
'1.txt': [], 
'2.txt': [], 
'5.txt': [], 
'4.txt': ['3.txt','6.txt'],
'7.txt': ['8.txt']
}

这是代码:

这是代码:

with open("test.csv","wa") as f:
    f.write("num\n")
    for k, v in tripo.items():
        if v:
            f.write("{}\n".format(k.split(".")[0]))
            f.write("\n".join([s.split(".")[0] for s in v])+"\n

期望的输出结果(给定代码创建了第二列,而我想添加名为“name”的列):

name num
1  4
1  3
1  6
1  7
1  8
1个回答

1
我看不到你在文件中写入名称列。可以这样做:
with open("test.csv","wa") as f:
    f.write("name\tnum\n")
    for k, v in tripo.items():
        if v:
            f.write("1\t")
            f.write("{}\n".format(k.split('.')[0]))
            for s in v:
                f.write("1\t{}\n".format(s.split('.')[0]))

谢谢。你能把刚才删除的代码放回去吗?就是在你创建列表的地方。 - Klausos Klausos
@klausos 在答案的编辑历史中应该可以找到。 - skuzzy
我觉得你的代码有一些问题,因为在所有条目的第一列中都没有出现“1”。你能否修复一下这个问题? - Klausos Klausos
这行代码可以生成多个条目。我如何在这些条目的第一列中添加“1”?f.write("\n".join([s.split(".")[0] for s in v])+"\n") - Klausos Klausos
@KlausosKlausos 感谢你指出这个问题。这是由于join方法的特性所致。你可以遍历列表来添加这些条目。我已经相应地修改了代码。 - skuzzy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接