gpt4 book ai didi

python - 在 Apache Beam 中将 csv 转换为 dict 而不知道标题字段名

转载 作者:行者123 更新时间:2023-12-04 07:56:10 26 4
gpt4 key购买 nike

给定输入 CSV(存储在本地或 Google Cloud Storage 中)

a,b,c
1,2,3
4,5,6
如何获得具有值(value)的 PCollection
{a: 1, b: 2, c: 3}
{a: 4, b: 5, c: 6}
事先不知道 CSV header 的名称?

最佳答案

这里有两个选项。
(1) 您可以使用beam.io.ReadFromText跳过标题,后跟 beam.Map(lambda line: zip(header_names, line.split(',')) .这不会处理引用等(虽然可以适应这样做,可能使用 csv 模块,但处理多行行将无法使用此方法)。
(2) 您可以使用 Beam dataframes API为此,例如

from apache_beam.dataframe.io import read_csv

with beam.Pipeline as p:
df = p | beam.dataframe.io.read_csv("/path/to/filepattern")
# Here you can use df as if it were a Pandas dataframe,
# or you can convert it into a PCollection of dicts with
# pcoll = beam.dataframe.convert.to_pcollection(df)

关于python - 在 Apache Beam 中将 csv 转换为 dict 而不知道标题字段名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66689622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com