我目前正在尝试将整个列从单个.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 | ë
我希望这有一定道理。谢谢你的帮助。
尼克
答案 0 :(得分:1)
write.writerow()接受一个iterable并将其写为csv行。字符串是一个可以产生字符的可迭代字符。
所以你的问题是,不是给它一个列表,而是给它一个字符串。如果你想让csv只包含列,你必须给它一个带有1项的迭代:
writer.writerow([row[1]])