使用Python在CSV文件中复制列

时间:2014-03-12 15:27:12

标签: python csv

我目前正在尝试将整个列从单个.csv文件复制到另一个新的.csv文件。这听起来很简单,但我一直遇到问题。

import csv
import glob

with open(r"C:\Users\n47-jones\Dropbox\Nevil Programming\test1.csv", "wb") as outfile:
    writer = csv.writer(outfile, delimiter=",")
    for csvfilename in glob.glob(r"C:\Users\n47-jones\Dropbox\Nevil Programming\testdir\*.csv"):
        with open(csvfilename, "rb") as infile:
            reader = csv.reader(infile)
            for row in reader:
                writer.writerow(row[1])

当在新的test1.csv中输出时,行[1]的内容被分解为每个单独的字母。

e.g。

它来自:

日期|

D | A | T | ë

我希望这有一定道理。谢谢你的帮助。

尼克

1 个答案:

答案 0 :(得分:1)

write.writerow()接受一个iterable并将其写为csv行。字符串是一个可以产生字符的可迭代字符。

所以你的问题是,不是给它一个列表,而是给它一个字符串。如果你想让csv只包含列,你必须给它一个带有1项的迭代:

writer.writerow([row[1]])