0
点赞
收藏
分享

微信扫一扫

下载huggingface数据集到本地并读取.arrow文件遇到的问题

文章目录

1. 524MB中文维基百科语料(需要下载的数据集)

在这里插入图片描述

2. 下载 hugging face 网站上的数据集

要将Hugging Face网站上的数据集下载到本地,可以使用Hugging Face提供的Python库 datasets。以下是下载数据集的基本步骤:

  1. 确保你已经安装了 datasets 库。你可以使用以下命令安装它:
pip install datasets
  1. 导入 datasets 库:
from datasets import load_dataset
  1. 使用 load_dataset 函数加载你感兴趣的数据集。例如,如果你想下载上面网页的数据集,你可以这样做:
dataset = load_dataset('pleisto/wikipedia-cn-20230720-filtered')
  1. 下载完成后,你可以指定一个本地目录来保存数据集文件。可以使用以下代码来指定保存路径:
dataset.save_to_disk(r'E:\DL\CSDN-blog\pyqt5_ui')

请将 括号中的字符串替换为你想要保存数据集文件的实际目录。这样,你就可以将Hugging Face网站上的数据集下载到本地指定的目录中了。

请注意,某些数据集可能需要进行身份验证或同意使用条款才能下载。确保你遵守数据集提供者的规定和许可要求。

  1. 下载后的结果

在这里插入图片描述

3. 读取 .arrow 文件报错代码

import pyarrow as pa

# 读取.arrow文件
table = pa.ipc.open_file(r'E:\DL\CSDN-blog\pyqt5_ui\train\data-00000-of-00002.arrow').read_pandas()
print('打印数据:\n', table)

报错输出


C:\ProgramData\Anaconda3\python.exe E:/DL/CSDN-blog/pyqt5_ui/gen_data.py
Traceback (most recent call last):
  File "E:/DL/CSDN-blog/pyqt5_ui/gen_data.py", line 8, in <module>
    table = pa.ipc.open_file(r'E:\DL\CSDN-blog\pyqt5_ui\train\data-00000-of-00002.arrow').read_pandas()
  File "C:\ProgramData\Anaconda3\lib\site-packages\pyarrow\ipc.py", line 236, in open_file
    options=options, memory_pool=memory_pool)
  File "C:\ProgramData\Anaconda3\lib\site-packages\pyarrow\ipc.py", line 111, in __init__
    options=options, memory_pool=memory_pool)
  File "pyarrow\ipc.pxi", line 942, in pyarrow.lib._RecordBatchFileReader._open
  File "pyarrow\error.pxi", line 144, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow\error.pxi", line 100, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Not an Arrow file

4. 纠正后代码

参考链接: Python : Arrow、Pyarrow库、以及与Julia互读

import pyarrow as pa
import json
# from datasets import load_dataset
# dataset = load_dataset('pleisto/wikipedia-cn-20230720-filtered')
# dataset.save_to_disk(r'E:\DL\CSDN-blog\pyqt5_ui')

# 读取.arrow文件
# table = pa.ipc.open_file(r'E:\DL\CSDN-blog\pyqt5_ui\train\data-00000-of-00002.arrow').read_pandas()
# 可以读出julia对应的test.arrow文件
def read_arrow_to_df_julia_ok(path):
    with open(path,"rb") as f:
        r = pa.ipc.RecordBatchStreamReader(f)
        df = r.read_pandas()
        return df
table = read_arrow_to_df_julia_ok(r'E:\DL\CSDN-blog\pyqt5_ui\train\data-00000-of-00002.arrow')
# 打印数据
print('打印数据:\n', table)

正确结果输出


C:\ProgramData\Anaconda3\python.exe E:/DL/CSDN-blog/pyqt5_ui/gen_data.py
打印数据:
                   source                                         completion
0       wikipedia.zh2307  昭通机场(ZPZT)是位于中国云南昭通的民用机场,始建于1935年,19603月开通往返航...
1       wikipedia.zh2307  我的英雄学院:英雄新世纪\n《我的英雄学院剧场版:英雄新世纪》(仆のヒーローアカデミア TH...
2       wikipedia.zh2307  黄大仙文化公园(Wong Tai Sin Culture Park)是香港一个公园,位于九龙...
3       wikipedia.zh2307  佐洛奇夫(Zolochiv),或按俄语译为佐洛乔夫(Золочев),是乌克兰西部利沃夫州佐...
4       wikipedia.zh2307  陈准,字道基,颍川郡许昌(今河南许昌)人。西晋官员。官至太尉。出身颍川陈氏,青州刺史陈佐之子...
...                  ...                                                ...
127269  wikipedia.zh2307  五个为什么(英文:5 Whys),又称为“五个为何”、“五问”或“五问法”,是一种提出问题的...
127270  wikipedia.zh2307  热凝胶多糖,又名可得然胶、卡德兰胶,是一种β-1,3-葡聚糖,是由葡萄糖组合而成的高分子聚合...
127271  wikipedia.zh2307  尤宁县 (阿肯色州)\n尤宁县(Union County)是美国阿肯色州南部的一个县,南邻路...
127272  wikipedia.zh2307  超粒方,本名邱奕淳,台湾百万订阅YouTuber,国立交通大学(今国立阳明交通大学)外文系肄...
127273  wikipedia.zh2307  《切尔诺贝利·禁区》是由“SineLab Production”(第1季)和RatPack ...

[127274 rows x 2 columns]

Process finished with exit code 0

举报

相关推荐

0 条评论