![](/img/trans.png)
[英]Copy specific Column from a .csv file to another .csv file and save it as a new .csv file issue
[英]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.