我正在使用一个程序,结果格式为 [(11,3.22),(12,4.6),(9,2.4)] 我需要提取第一部分以更改它命名并附加第二个值并将其存储在csv文件中。我如何提取子部分的每个部分?从python列表中提取数据
0
A
回答
1
>>> l = [(11,3.22),(12,4.6),(9,2.4)]
“需要提取第一部分” -
>>> l[0]
(11, 3.22)
“将其更改为名称” -
>>> l[0] = ('x', 'y')
>>> l
[('x', 'y'), (12, 4.6), (9, 2.4)]
“附加第二值” -
>>> l[0] = dict(zip(('x', 'y'), l[1]))
>>> l
[{'y': 4.6, 'x': 12}, (12, 4.6), (9, 2.4)]
以CSV格式存储很容易,请点击此处查看示例 - http://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/
0
我假设您的意思是对于列表中的每个元组,使用从整数映射的字符串替换第一个元素。
您可以使用列表理解这样做的:
>>> id_to_str_map = {11:"foo", 12:"bar", 9:"baz"}
>>> l = [(11,3.22),(12,4.6),(9,2.4)]
>>> result = [(id_to_str_map[idx], value) for (idx, value) in l]
>>> print result
[('foo', 3.22), ('bar', 4.6), ('baz', 2.4)]
使用CSV标准库模块所推荐的@theharshest是最稳健的选择。为Python 2.7标准库文件:http://docs.python.org/2/library/csv.html
如果你有一个大的数据集工作,那么它很可能更好,而不是用生成器表达式为你的每一行写出CSV文件懒洋洋地执行映射。
import csv
id_to_str_map = {11:"foo", 12:"bar", 9:"baz"}
l = [(11,3.22),(12,4.6),(9,2.4)]
with open("blah.csv", "wb") as csvfile:
csv_writer = csv.writer(csvfile)
for row in ((d[idx], value) for (idx, value) in l):
csv_writer.writerow(row)
相关问题
- 1. 从Python列表中提取数字
- 2. 从元组列表中提取数据
- 3. 从列表中提取数据
- 4. 从嵌套列表中提取数据
- 5. 无法从列表中提取数据
- 6. 从列表视图中提取数据
- 7. 从列表视图中提取数据
- 8. 从json.loads列表中提取数据
- 9. 从列表中提取数据R
- 10. 从列表中提取数据[R]
- 11. 从HTML表格列中提取数据
- 12. 从Python中的数据框中的列提取数据
- 13. Python:从值列表中提取值
- 14. 如何从列表python中提取值?
- 15. Python的 - 从列表中提取元素
- 16. Python:从清单列表中提取
- 17. Python:从DataFrame列中提取数组
- 18. 从HTML表格提取一列数据w/Python?
- 19. 如何提取从列表数据在Python
- 20. 的Python:从整数列表中提取一个值,并列出
- 21. python从netCDF中提取数据
- 22. python - 从mp3文件中提取数据
- 23. beatifulsoup从网页中提取数据python
- 24. Python从文本行中提取数据
- 25. 用Python从xml中提取数据3
- 26. Python 3.从json中提取数据
- 27. 从JavaScript中提取数据(Python Scraper)
- 28. 从Python中获取请求中的数据提取数据
- 29. R:从CSV文件数据列表中提取数据帧
- 30. 从表中提取值python
你是什么意思? –