CSV列中的CSV列

acp*_*eon 4 python csv arrays

我很难处理似乎是一个简单的问题.我正在尝试导入一个csv并将其列拆分为可以在其上运行不同操作的数组,然后将zip()重新组合在一起.

import csv

data = csv.reader(open('test.csv', 'rb'), delimiter=",", quotechar='|')
column1, column2 = [], []

for row in data:
    column1.extend(row[0])
    column2.extend(row[1])

print column1
print column2
Run Code Online (Sandbox Code Playgroud)

此代码打印两个数组,其中的元素是单个字符而不是字符串.当我尝试使用单个列执行此操作时,column1.extend(row)执行我想要的操作.

我对解决这个特定问题的方法感兴趣,或者将其概括为n列.

Nol*_*lty 6

您需要更改column1.extend(row[0])column1.append(row[0])(对于column2,显然也是如此).Extend用于将一个列表的内容添加到另一个列表,append用于添加单个元素.Extend告诉python将字符串视为其字符列表并附加每个字符.

>>> lst = []
>>> lst.extend("foo")
>>> lst
['f', 'o', 'o']
>>> lst.append("foo")
>>> lst
['f', 'o', 'o', 'foo']
Run Code Online (Sandbox Code Playgroud)