簡體   English   中英

使用來自另一個csv文件的列創建一個新的csv文件

[英]Create a new csv file with a column from another csv file

我正在嘗試使用另一個現有的csv文件中的僅一列創建一個新的csv文件。 Python不會在csv文件的僅一列中打印地址,而是將Address分布在多列中。 我該怎么辦才能消除多列問題。

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])

應該管用。

通常,我會使用pandas包進行csv文件操作。

import pandas
df = pandas.read_csv(input_file, delimiter=delimiter)
df['Address'].to_csv(output_file)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM