[英]How to extract numbers from between commas on each row is csv file
我需要弄清楚如何将 CSV 文件中行的 3 个值分离到新列表中,然后将 plot 放到图表上。 我已经将每一行分隔成一个列表,但我需要对每个逗号分隔值进行分类的新列表。
我已经将每一行分成一个列表,如下所示:
import csv
with open('Lottery_Powerball_Winning_Numbers__Beginning_2010.csv', 'r') as readObj:
heading = next(readObj)
csvReader = csv.reader(readObj)
listOfCSV = list(csvReader)
print(listOfCSV)
output 在这里转述(由于字符限制,无法输入完整的 output。)
['9/26/20', '11 21 27 36 62 24', '3'], ['9/30/20', '14 18 36 49 67 18', '2'], ['10/3/20', '18 31 36 43 47 20', '2'], ['10/7/20', '06 24 30 53 56 19', '2'], ['10/10/20', '05 18 23 40 50 18', '3']
您可以制作三个新列表并阅读您之前获得的行列表。
csv = [['9/26/20', '11 21 27 36 62 24', '3'], ['9/30/20', '14 18 36 49 67 18', '2'], ['10/3/20', '18 31 36 43 47 20', '2'], ['10/7/20', '06 24 30 53 56 19', '2'], ['10/10/20', '05 18 23 40 50 18', '3']]
date = []
number = []
end = []
for row in csv:
date.append(row[0])
number.append(row[1])
end.append(row[2])
print(date)
print(number)
print(end)
我会生产
['9/26/20', '9/30/20', '10/3/20', '10/7/20', '10/10/20']
['11 21 27 36 62 24', '14 18 36 49 67 18', '18 31 36 43 47 20', '06 24 30 53 56 19', '05 18 23 40 50 18']
['3', '2', '2', '2', '3']
如果您构建一个字典,那么这将使按日期访问值变得容易。 例如,假设 CSV 文件包含以下数据:
Date, Numbers, Multiplier
9/26/20, 11 21 27 36 62 24, 3
9/30/20, 14 18 36 49 67 18, 2
10/3/20, 18 31 36 43 47 20, 2
10/7/20, 06 24 30 53 56 19, 2
10/10/20, 05 18 23 40 50 18, 3
...然后...
import json # Only needed to prettify the output
data = dict()
with open('Lottery_Powerball_Winning_Numbers__Beginning_2010.csv') as csv:
next(csv) # skip column header
for line in csv:
try: # use try/ except in case any line does not contain exactly 3 tokens
date, numbers, multiplier = line.split(',')
data[date] = {'numbers': list(map(int, numbers.split())), 'multiplier': int(multiplier)}
except ValueError:
pass
print(json.dumps(data, indent=2))
Output:
{
"9/26/20": {
"numbers": [
11,
21,
27,
36,
62,
24
],
"multiplier": 3
},
"9/30/20": {
"numbers": [
14,
18,
36,
49,
67,
18
],
"multiplier": 2
},
"10/3/20": {
"numbers": [
18,
31,
36,
43,
47,
20
],
"multiplier": 2
},
"10/7/20": {
"numbers": [
6,
24,
30,
53,
56,
19
],
"multiplier": 2
},
"10/10/20": {
"numbers": [
5,
18,
23,
40,
50,
18
],
"multiplier": 3
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.