크기가 큰 CSV 800GB에서 데이터를 파싱 중입니다. 각 데이터 행마다 판다 데이터 프레임으로 저장합니다.하나의 키/그룹에서 여러 팬더 데이터 프레임을 HDF5 오브젝트로 결합하는 방법은 무엇입니까?
readcsvfile = csv.reader(csvfile)
for i, line in readcsvfile:
# parse create dictionary of key:value pairs by csv field:value, "dictionary_line"
# save as pandas dataframe
df = pd.DataFrame(dictionary_line, index=[i])
이제 나는 HDF5 형식으로이를 저장하고 전체 CSV 파일이었다 것처럼 H5를 조회하고 싶습니다.
import pandas as pd
store = pd.HDFStore("pathname/file.h5")
hdf5_key = "single_key"
csv_columns = ["COL1", "COL2", "COL3", "COL4",..., "COL55"]
내 접근 방식은 지금까지왔다 :
입니다import pandas as pd
store = pd.HDFStore("pathname/file.h5")
hdf5_key = "single_key"
csv_columns = ["COL1", "COL2", "COL3", "COL4",..., "COL55"]
readcsvfile = csv.reader(csvfile)
for i, line in readcsvfile:
# parse create dictionary of key:value pairs by csv field:value, "dictionary_line"
# save as pandas dataframe
df = pd.DataFrame(dictionary_line, index=[i])
store.append(hdf5_key, df, data_columns=csv_columns, index=False)
, 나는 하나의 키 아래에있는 HDF5에 각 dataframe df
을 저장하려고합니다. 그러나이 실패 : 그래서
Attribute 'superblocksize' does not exist in node: '/hdf5_key/_i_table/index'
, 내가 첫 번째 팬더 dataframe에 모든 것을 저장을 시도 할 수 있습니다, 즉 지금
import pandas as pd
store = pd.HDFStore("pathname/file.h5")
hdf5_key = "single_key"
csv_columns = ["COL1", "COL2", "COL3", "COL4",..., "COL55"]
readcsvfile = csv.reader(csvfile)
total_df = pd.DataFrame()
for i, line in readcsvfile:
# parse create dictionary of key:value pairs by csv field:value, "dictionary_line"
# save as pandas dataframe
df = pd.DataFrame(dictionary_line, index=[i])
total_df = pd.concat([total_df, df]) # creates one big CSV
및
store.append(hdf5_key, total_df, data_columns=csv_columns, index=False)
그러나 HDF5 형식으로 저장, 나는 내가 모든 csv 라인을 total_df
에 HDF5 포맷으로 저장하기 위해 RAM/스토리지를 가지고 있다고 생각하지 마십시오.
그렇다면 각 "단일 라인"df를 HDF5에 추가하여 원래의 csv와 같은 하나의 큰 데이터 프레임으로 끝내려면 어떻게해야합니까?
편집 : 여기에 다른 데이터 유형이있는 CSV 파일의 구체적인 예는 다음과 같습니다
order start end value
1 1342 1357 category1
1 1459 1489 category7
1 1572 1601 category23
1 1587 1599 category2
1 1591 1639 category1
....
15 792 813 category13
15 892 913 category5
....
모든 항목이 같은 유형입니까? IRC, hdf5는 혼합 배열을 수행하지 않습니다. – Paul
@Paul 전체 + TB csv 데이터 테이블을 HDF5 형식으로 저장하는 방법은 무엇입니까? – ShanZhengYang
@MaxU 당신이 HDF5 전문가라는 것을 알고 있습니다. 이것이 가능한가? 그것은 매우 간단한 작업처럼 느껴집니다 ... – ShanZhengYang