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

文章目录

    • [1. 524MB中文维基百科语料(需要下载的数据集)](#1. 524MB中文维基百科语料(需要下载的数据集))
    • [2. 下载 hugging face 网站上的数据集](#2. 下载 hugging face 网站上的数据集)
    • [3. 读取 .arrow 文件报错代码](#3. 读取 .arrow 文件报错代码)
    • [4. 纠正后代码](#4. 纠正后代码)

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

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

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

  1. 确保你已经安装了 datasets 库。你可以使用以下命令安装它:

    pip install datasets

  2. 导入 datasets 库:

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

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

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

  1. 下载后的结果

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

python 复制代码
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)

报错输出

python 复制代码
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互读

python 复制代码
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)

正确结果输出

python 复制代码
C:\ProgramData\Anaconda3\python.exe E:/DL/CSDN-blog/pyqt5_ui/gen_data.py
打印数据:
                   source                                         completion
0       wikipedia.zh2307  昭通机场(ZPZT)是位于中国云南昭通的民用机场,始建于1935年,1960年3月开通往返航...
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
相关推荐
凡人的AI工具箱3 分钟前
每天40分玩转Django:Django类视图
数据库·人工智能·后端·python·django·sqlite
余生H6 分钟前
前端Python应用指南(三)Django vs Flask:哪种框架适合构建你的下一个Web应用?
前端·python·django
凡人的AI工具箱13 分钟前
每天40分玩转Django:实操图片分享社区
数据库·人工智能·后端·python·django
小军军军军军军16 分钟前
MLU运行Stable Diffusion WebUI Forge【flux】
人工智能·python·语言模型·stable diffusion
数据小小爬虫24 分钟前
Python爬虫获取AliExpress商品详情
开发语言·爬虫·python
小爬虫程序猿25 分钟前
利用Python爬虫速卖通按关键字搜索AliExpress商品
开发语言·爬虫·python
一朵好运莲32 分钟前
React引入Echart水球图
开发语言·javascript·ecmascript
Eiceblue44 分钟前
使用Python获取PDF文本和图片的精确位置
开发语言·python·pdf
我叫czc1 小时前
【Python高级353】python实现多线程版本的TCP服务器
服务器·python·tcp/ip
爱数学的程序猿1 小时前
Python入门:6.深入解析Python中的序列
android·服务器·python