簡體   English   中英

如何將 .csv 的元素拆分為兩個單獨的列表

[英]How to split elements of .csv into two separate lists

所以我得到了一個文件,其中的最小值和最大值是這樣排序的:

12.0,-4.5
34.6,1.8
12.7,2.8
etc...

就我的程序而言,我需要取每一行並將其拆分,將一個“列”值放在一個列表中,將第二個“列”放在另一個列表中。 這樣我將能夠使用所有第一個值來計算平均值/最小值/最大值,並且所有第二個值都可以用於單獨的計算。

到目前為止,我只能實現將每一行拆分為單獨的元素,如下所示:

['12.0,-4.5'], ['34.6,1.8'], ['12.7,2.8'], etc...

但我希望它是:

['12.0', '34.6', '12.7', etc...] and ['-4.5', '1.8', '2.8', etc...]

我的代碼如下。 我試圖做足夠的評論,但如果你需要進一步的解釋(我懷疑)讓我知道!

#import libraries to be used
import time

fileChoice = input("Enter the file name: ") 
inputFile = open(fileChoice)

catTypes = inputFile.readline().strip('\n').split(',') #the headers of the file, taking away special characters
numOfHeadings = len(catTypes) #determining how many headers there are
print(catTypes) #printing the headers for future reference
rowCount = sum(1 for row in inputFile) #counting rows for later use
inputFile.close()

li = open(fileChoice) #opening file again for data collection
li.readline()

li = [entry.split() for entry in li] #creating list for every line in .csv file
print(li)

列表混亂的主要部分是最后四行,我將如何修改它以配合我的兩個列表想法?

拆分每一行,並將row[0]附加到一個列表,將row[1]附加到另一個列表。

import csv

mins = []
maxs = []

with open(fileChoice) as f:
    f.readline() # Skip header line
    csvin = csv.reader(f)
    for row in csvin:
        maxs.append(row[0])
        mins.append(row[1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM