首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多个csv.writers格式化问题

使用多个csv.writers格式化问题
EN

Stack Overflow用户
提问于 2014-06-02 14:49:48
回答 1查看 39关注 0票数 1

我试图过滤输入文件,并将过滤后的行写入“筛选”文件,将未过滤的行写入“保存”文件,但我似乎无法解决我的格式化问题。

在创建一组过滤器之后..。

代码语言:javascript
复制
with inFile:
    file_reader = csv.reader(inFile, delimiter='\t')
    filtered_name = inFile.name + '_filtered.txt'
    filtered_writer = csv.writer(open(filtered_name,'wb'), delimiter='\t')
    saved_name = inFile.name + '_saved.txt'
    saved_writer = csv.writer(open(saved_name, 'wb'), delimiter='\t')
    for data in file_reader:
        if (data[1], data[2]) in filters:
            filtered_writer.writerows(data)
        else:
            saved_writer.writerows(data)  

过滤步骤正常工作,如果只写入单个输出文件,则输出看起来很好。通常,输出文件应该如下所示:

代码语言:javascript
复制
ABC 12345  6789   
DEF 12346  6790

但它们看起来却是:

代码语言:javascript
复制
A  B  C
1  2  3  4  5
6  7  8  9
D  E  F
1  2  3  4  6
6  7  9  0

我做错了什么?

编辑:我使用Python2.7

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-02 15:15:45

我认为您希望使用writerow (而不是复数),因为每次只输出一行,对吗?

writerowsdata解释为列表(实际上是),但实际上是字符串列表(字符串可以解释为字符列表)。因此,它将每个字符串拆分成一个字符列表,并在每列输出一个字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23997382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档