gpt4 book ai didi

python - 在不同行大小的 Pandas 和/或 Tableau 中读取 CSV 文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:17:44 25 4
gpt4 key购买 nike

我有一个 csv 文件,我想用 Python 中的 Pandas 库读取它。

在这个表中,当我们遇到一个新项目时(例如下例中的项目编号 1393 或 1654),我们首先有一个 4 列行元数据,然后是几个 100 列行作为与该项目关联的真实数据。然后下一个项目再次发生,依此类推。

表格是这样的:

1,1393,0,0
1,1393,1,22,55,63,...
1,1393,5,32,43,163,...
.
.
.
2,1654,0,0
2,1654,8,95,96,142,...
2,1654,21,31,364,9,...
.
.
.

所以问题是:

  1. 有些行的大小与其他行不同
  2. 我们没有标题,无法创建它,因为第一行有 4 个条目,第二行有 100 个条目
  3. 我的 CSV 文件很大(大约 10G)!

非常感谢任何有助于我在 Pandas 或任何其他 Python 库中组织数据的建议。

PS:顺便说一句,有人知道如何在 Tableau 中管理它吗?

最佳答案

当数据不适合现有的 pandas 阅读器时,您可以创建自己的生成器并使用 from_records 填充数据框。由于缺乏关于这些不同项目应该如何关联的详细信息,我编写了一个示例,它只是将最新的元数据添加到每一行的前面。

import pandas as pd

def my_data_generator(fp):
metadata = []
for line in fp:
data = line.strip().split(',')
if len(data) == 4:
metadata = data
elif not metadata:
raise ValueError("csv file did not start with metadata")
elif data:
yield metadata + data

df = pd.DataFrame.from_records(my_data_generator(open('somefile.csv')))
print(df)

关于python - 在不同行大小的 Pandas 和/或 Tableau 中读取 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687162/

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