python - 如何使用 python 从 Avro 文件中打印特定列
问题描述
我有以下代码打印 avro 文件中的所有值。但是,我想打印一个特定的列例如:
{'key1': value1 , 'key2': value2}
我想打印 avro 中存在的所有“key1”值。
这是我的代码
from avro.datafile import DataFileReader
from avro.io import DatumReader
reader = DataFileReader(open("abc.avro", "rb"), DatumReader())
for user in reader:
print(user)
reader.close()
我是 Avro 和大数据方面的新手
编辑:
这是更正后的代码。感谢@Rithin
for user in reader:
print(user['key1'])
这将返回与 'key1' 对应的所有值
解决方案
从文档:
DataFileReader 是一个迭代器,它返回与序列化项对应的字典。
由于它只返回一个字典列表,因此您可以使用row['key']
.
将此与列表理解相结合,将产生所有行的所有值。
例子:
all_values = [row['key1'] for row in list(reader)]
print(all_values)
[value1]
要将此结果列表保存到json
,您可以:
import json
result = {'key1':all_values}
with open('output.json', 'w') as json_file:
json.dump(result, json_file)
您可以在此处阅读有关保存到 json 的更多信息。
要将此结果列表保存到csv
,您可以:
import csv
with open('output.csv', 'w') as csv_file:
writer = csv.writer(csv_file)
writer.writerows(all_values)
您可以在此处阅读有关使用 csv 文件的更多信息。
推荐阅读
- excel - 来自常规表的 Excel 相关下拉列表
- javascript - 猫鼬一对多参考正在返回陈旧的数据
- python - Discord.py on_raw_reaction_add() - 不向成员添加角色
- r - 从 R 运行 PowerShell 脚本
- mongodb - 展平嵌套的 JSON 结构并在 mongoDB 聚合中附加属性名称
- javascript - 我的反应和休息 api 应用程序出现错误,其中我的一个变量返回未定义
- javascript - 如何从 JavaScript 中的“文字符号”字符串制作 RegExp?
- python - Python 部分 dict 到 csv 的翻译
- mysql - 如何使用流星 vlasky:mysql 包创建、插入和更新集合?
- github-pages - GitHub Pages URI 的最大长度是多少?