我目前将CSV文件保存为Windows逗号分隔值
f = open('file.csv')
csv_f = csv.reader(f)
for row in lines:
print row
返回
Company,City,State
Ciena Corporation,Linthicum,Maryland
Inspirage LLC,Gilbert,Arizona
Facebook,menlo park,CA
我正在尝试按列
创建列表列f = open('file.csv')
csv_f = csv.reader(f)
for row in f:
print row[2]
f.close()
我只收到第3个字母:m
,e
,s
和c
。
在Mac上用Python编写
答案 0 :(得分:1)
作为处理csv
文件的正确方法,您可以使用csv
模块:
>>> import csv
>>> with open('f_name.csv', 'rb') as csvfile:
... spamreader = csv.reader(csvfile, delimiter=',')
... for row in spamreader:
... print baseUrl + ' '.join(row)
这会将您的行作为列表。如果你想要列表中的所有这些,请执行:
>>> import csv
>>> with open('f_name.csv', 'rb') as csvfile:
... spamreader = csv.reader(csvfile, delimiter=',')
... print list(spamreader)
请注意,spamreader
是一个迭代器,您可以通过list()
函数将其转换为列表。
您还可以通过将spamreader
传递给zip
函数来获取列列表:
>>> import csv
>>> with open('f_name.csv', 'rb') as csvfile:
... spamreader = csv.reader(csvfile, delimiter=',')
... print zip(*spamreader)
答案 1 :(得分:0)
此功能读取CSV并将其作为列表返回
def csv2list(csvFile):
outList = list()
reader = csv.reader(open(csvFile))
for row in reader:
outList.append(row)
return outList
用法示例:
csv_file = "somthing.csv"
print csv2list(csv_file)
答案 2 :(得分:0)
您需要for row in csv_f: …
,而不是for row in f: …
。