[英]How I can save each column of Dataframe to separated column in CSV file?
[英]How can I save each column in a csv into a list?
我正在尝试通过以下方式使每一列进入列表:
f = open('file.csv', 'r')
a = [float(item.split('.')[0]) for item in f]
b = [float(item.split('.')[1]) for item in f]
当我打印a
我得到一个包含第一列所有值的列表,但是当我打印b
它显示了一个空列表。 我尝试将a的列更改为b
并将a
的列更改为我要的列,就在第一个定义的列表之后,它一直显示空列表。
您也可以只使用csv.reader
:
import csv
list_a = []
list_b = []
with open('file.csv', newline='') as csv_file:
reader = csv.reader(csv_file, delimiter='.')
next(reader, None) # Skip the header.
for a, b in reader:
list_a.append(float(a))
list_b.append(float(b))
或使用zip
技巧:
with open('file.csv', newline='') as csv_file:
reader = csv.reader(csv_file, delimiter='.')
next(reader, None) # Skip the header.
list_a, list_b = zip(*(map(float, row) for row in reader))
a = [float(item.split('.')[0]) for item in f]
从文件中读取所有内容。 第二个列表理解没有什么可剩下的了。 您必须关闭文件然后再次打开它,例如:
with open('file.csv', 'r') as f:
a = [float(item.split('.')[0]) for item in f]
with open('file.csv', 'r') as f:
b = [float(item.split('.')[1]) for item in f]
但是,最好只读取一次文件并在一个循环中处理a和b都更好:
with open('file.csv', 'r') as f:
a, b = zip(*[map(float, item.split('.')) for item in f])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.