[英]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.