Skip to main content
 首页 » 编程设计

python之使用来自另一个 csv 文件的列创建一个新的 csv 文件

2025年05月04日17bluestorm

我正在尝试创建一个新的 csv 文件,其中只有来自另一个现有 csv 文件的一列。 Python 不是在 csv 文件中仅在一列中打印地址,而是将地址分布在多列中。我该怎么做才能消除多列问题。

from __future__ import absolute_import, division, print_function 
import csv 
from itertools import imap 
from operator import itemgetter 
 
 
def main(): 
    delimiter = ',' 
    with open('C:/Addresses.csv', 'rb') as input_file: 
        reader = csv.reader(input_file, delimiter=delimiter) 
        with open('thefirstcolumn.csv', 'wb') as output_file: 
            writer = csv.writer(output_file, delimiter=delimiter) 
            writer.writerows(imap(itemgetter(1), reader)) 
 
 
if __name__ == '__main__': 
    main() 

在原始文件中:

abcdcolumn      Address              
********-A-1    6525 Mountain    
********-A-2    6543 Mountain        
********-A-4    6579 Mountain    
********-A-5    6597 Mountain    
********-A-6    6615 Mountain        
********-A-7    6633 Mountain    

新的 csv 文件中的结果:

    A   d   d   r   e   s   s            
    6   5   2   5       M   o   u   n   t 
    6   5   4   3       M   o   u   n   t 
    6   5   6   1       M   o   u   n   t 
    6   5   7   9       M   o   u   n   t 
    6   5   9   7       M   o   u   n   t 
    6   6   1   5       M   o   u   n   t 
    6   6   3   3       M   o   u   n   t 

请您参考如下方法:

writer.writerows 需要一个列表列表,而您正在为其提供一个字符串列表。

将 writer.writerows(imap(itemgetter(1), reader)) 更改为如下内容:

for address in imap(itemgetter(1), reader): 
      writer.writerow([address]) 

应该可以。