用Python将CSV转换为列表
我已经将一个用Python将CSV转换为列表,python,list,csv,Python,List,Csv,我已经将一个.csv文件导入到Python中,并将其命名为data。它看起来像这样: aK bK id .124 .121 1 .320 .202 2 .222 .198 3 以此类推几百行。如何将列aK和列bK转换为列表?我试过这个: aK = [] for row in data: aK.append(row[0]) 但aK仍然是一个空白名单 import csv CSV_FILE = "test.csv" def main(): with o
.csv
文件导入到Python中,并将其命名为data
。它看起来像这样:
aK bK id
.124 .121 1
.320 .202 2
.222 .198 3
以此类推几百行。如何将列aK
和列bK
转换为列表?我试过这个:
aK = []
for row in data:
aK.append(row[0])
但aK仍然是一个空白名单
import csv
CSV_FILE = "test.csv"
def main():
with open(CSV_FILE) as inf:
in_csv = csv.reader(inf, delimiter=" ", skipinitialspace=True)
header = next(in_csv) # skip header row
ak, bk, id = zip(*in_csv) # get columns
if __name__ == "__main__":
main()
给
ak = ('.124', '.320', '.222')
bk = ('.121', '.202', '.198')
id = ('1', '2', '3')
你接近它的方式似乎很好。您只是没有显示如何创建
数据
>>> import csv
>>> with open('data.csv') as f:
aK, bK = [], []
next(f) # skip headers
for row in csv.reader(f, delimiter='\t'):
aK.append(float(row[0]))
bK.append(float(row[1]))
'aK\tbK\tid\n'
>>> aK
[0.124, 0.32, 0.222]
>>> bK
[0.121, 0.202, 0.198]
你是如何在数据中导入csv的?你能澄清这个问题吗please@japem我想他在问你是如何加载文件并将其转换为python字符串/列表/其他对象的。你使用的是
csv
模块吗?哦。是的,我是导入csv>>>a=open('MyFile.csv')>>>data=csv.reader(a)@japem对于您在评论中发布的代码,很难相信在循环后,aK
是空的,发布问题正文中的实际代码。(可能您在将文件对象传递给csv.reader
)是“test.csv”归档我最初导入的文件?@Hackaholic-为什么要重新发明轮子?在Python中,导入模块非常简单。此外,csv
模块将比任何手工制作的模块都更加健壮。@iCodez这4行代码,我不认为会重新发明whell,所有这些csv模块都使用了这个内置函数,如split和striponly@HughBothwell我明白你为什么要寻找delimiter=“
跳过初始空格。这对于这个网站上的数据来说是有意义的,但我认为OP很可能使用了一个制表符分隔的文件,Stackoverflow将它们转换为空格,或者是文本编辑器