【发布时间】:2021-08-18 09:32:52
【问题描述】:
我想读取一个列中包含此类数据的 csv 文件:
4,90,1,228
31,828
3,110,1,540
3,110,1,540
111,350
3,308,1,780
3,369,1,2409
0,1350
7,132
11,210
4,2240,8,3720
我尝试将这些数据分配给名为“jobs_data1”的列表对象,同时以如下所示的所需方式调整它们。
这是print(jobs_data1)的期望输出:
[[(4, 90), (1, 228)], [(3, 1828)], [(3, 110), (1, 540)], [(3, 110), (1, 540)], [(11, 1350)], [(3, 308), (1, 780)], [(3, 369), (1, 2409)], [(0, 1350)], [(7, 132)], [(11, 210)], [(4, 2240), (8, 3720)]]
这是代码:
with open("jobs.csv") as csv_file:
csv_reader = csv.reader(csv_file, delimiter=",")
jobs_data1 = [[tuple(row[i : i + 2]) for i in range(0, len(row), 2)] for row in csv_reader]
print(jobs_data1)
print(type(jobs_data1))
csv_file.close()
这是输出:
[[('4', '90'), ('1', '228')], [('3', '1828')], [('3', '110'), ('1', '540')], [('3', '110'), ('1', '540')], [('11', '1350')], [('3', '308'), ('1', '780')], [('3', '369'), ('1', '2409')], [('0', '1350')], [('7', '132')], [('11', '210')], [('4', '2240'), ('8', '3720')]]
<class 'list'>
但是,我想在“jobs_data1”变量的输出中去掉“'”,同时保持变量的类型为列表格式。 有没有其他读取文件的方法来达到所需的输出?
【问题讨论】:
-
'表示它们是字符串,您可以将这些字符串解析为不带引号的整数。