Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将输出结果以表格格式保存在同一文件或不同文件中_Python_List - Fatal编程技术网

Python 将输出结果以表格格式保存在同一文件或不同文件中

Python 将输出结果以表格格式保存在同一文件或不同文件中,python,list,Python,List,我正试图将这个程序的输出保存到一个文件中,但在执行同样的操作时出现了错误 import csv import random with open('karyotype.zeamays1.txt', 'r') as f: reader = csv.reader(f, delimiter='\t') for row in reader: lines = [] colors = open("colours_bar.txt", "r") l

我正试图将这个程序的输出保存到一个文件中,但在执行同样的操作时出现了错误

import csv
import random

with open('karyotype.zeamays1.txt', 'r') as f:
    reader = csv.reader(f, delimiter='\t')
    for row in reader:
        lines = []
        colors = open("colours_bar.txt", "r")
        lines = colors.read().split()
        color_me = random.choice(lines)
        row.append(color_me)
        h = open("test.txt", "w")
        print row 
输入文件如下所示:

核型.zeamays1.txt

    chr -   b73_chr1    B73-Chr1    0   301354135   
    chr -   b73_chr2    B73-Chr2    0   237068873   
    chr -   b73_chr3    B73-Chr3    0   232140174   
    chr -   b73_chr4    B73-Chr4    0   241473504   
    chr -   b73_chr5    B73-Chr5    0   217872852   
    chr -   w22_chr1    W22-Chr1    0   301354135
颜色\u bar.txt

    black
    dred 
    dpred
    vdgreen 
    pgreen
    vvdpgreen
当我打印行时,我得到如下结果:

['chr', '-', 'b73_chr1', 'B73-Chr1', '0', '301354135', '', 'black']
['chr', '-', 'b73_chr2', 'B73-Chr2', '0', '237068873', '', 'vdgreen']
['chr', '-', 'b73_chr3', 'B73-Chr3', '0', '232140174', '', 'vdpurple']
['chr', '-', 'b73_chr4', 'B73-Chr4', '0', '241473504', '', 'vdgreen']
['chr', '-', 'b73_chr5', 'B73-Chr5', '0', '217872852', '', 'vdppurple']
如何将此结果以表格格式保存到文件中

在评论之后编辑:

with open('karyotype.zeamays1.txt', 'r') as f:
    reader = csv.reader(f,delimiter='\t')
    for row in reader:
        lines=[]
        colors=open("colours_bar.txt","r")
        lines=colors.read().split()
        color_me=random.choice(lines)
        row.append(color_me)

    csvfile=open('lvg.csv','wb')
    spamwriter=csv.writer(csvfile,delimiter='\t',quotechar='|',quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(row)
使用该方法。它的工作原理与前面在代码中使用的
csv.reader
方法类似,因为您可以指定分隔符,在本例中,
'\t'
,表示选项卡。这将在您编写每个项目时将其拆分为一个选项卡

这是假设您正在尝试写入csv文件。如果没有,并且您仅尝试打印,则可以尝试以下操作:

'\t'.join(row)
编辑:


请解释你所说的“表格格式”是什么意思。您希望输出如何显示?为什么标准Python格式不适合您?你得到了你想要的东西:每一行都是一个字符串列表。您是否想要类似输入格式的内容,但结尾附加了颜色?是的,我也打算这样做。当我试图将打印结果保存到文件中时,格式会发生扭曲。我尝试了csv.writer选项。但我面临的问题是结果不会存储在文件中。我不确定您的新代码是什么样子,但是,在您当前的代码中,`h=open(“test.txt”,“w”)`打开要写入的文件,但您实际上从未写入任何内容。我已将当前编辑添加到主查询/程序中。请查看我在回答中链接的文档。当你创建一个csv.writer对象时,在你调用writerow之前,它实际上不会写东西。因此,在您的示例spamwriter.writerow(行)中,还要注意每次在for循环中创建一个csv.writer时,它应该在外部创建,然后让它在每次迭代中写一行。
with open('karyotype.zeamays1.txt', 'r') as f:
    reader = csv.reader(f,delimiter='\t')
    csvfile=open('lvg.csv','wb')
    spamwriter=csv.writer(csvfile,delimiter='\t',quotechar='|',quoting=csv.QUOTE_MINIMAL)
    for row in reader:
        lines=[]
        colors=open("colours_bar.txt","r")
        lines=colors.read().split()
        color_me=random.choice(lines)
        row.append(color_me)
        spamwriter.writerow(row)