Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从Avro文件打印特定列_Python_Json_Python 3.x_Avro - Fatal编程技术网

如何使用python从Avro文件打印特定列

如何使用python从Avro文件打印特定列,python,json,python-3.x,avro,Python,Json,Python 3.x,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

我有一个下面的代码,它打印了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是一个迭代器,返回与序列化项对应的dict

由于它只返回字典列表,因此可以使用
行['key']
访问它们

将其与列表理解相结合,将得到所有行的所有值

例如:

all_值=[row['key1']用于列表中的行(读卡器)]
打印(所有_值)

要将此结果列表保存到
json
,您可以:

导入json
结果={'key1':所有_值}
将open('output.json','w')作为json_文件:
dump(结果,json_文件)
您可以阅读有关保存为json的更多信息


要将此结果列表保存到csv,您可以:

导入csv
打开('output.csv','w')作为csv\u文件:
writer=csv.writer(csv\u文件)
writer.writerows(所有_值)

您可以阅读有关使用csv文件的更多信息。

您好,谢谢您的回复。我还可以将此输出转储为JSON或CSV格式吗?@ChiragSharma,用编写CSV+JSON的示例更新了答案。
[value1]