Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

yizhihongxing

一、Python连接HDFS实现文件上传下载

要实现Python连接HDFS实现文件上传下载,需要用到hdfs3这个Python库。具体步骤如下:

  1. 安装hdfs3库:
!pip install hdfs3
  1. 导入hdfs3库:
from hdfs3 import HDFileSystem
  1. 创建连接:
hdfs = HDFileSystem(host='172.25.0.101', port=8020)

其中,host和port需要根据HDFS的配置进行修改。

  1. 上传文件:
with open('local_file.txt', 'rb') as f:
   hdfs.put('hdfs://your_hdfs_path/hdfs_file.txt', f)

其中,local_file.txt为本地文件路径,hdfs://your_hdfs_path/hdfs_file.txt为HDFS文件路径。

  1. 下载文件:
with hdfs.open('hdfs://your_hdfs_path/hdfs_file.txt', 'rb') as f:
   with open('local_file.txt', 'wb') as fw:
      fw.write(f.read())

其中,hdfs://your_hdfs_path/hdfs_file.txt为HDFS文件路径,local_file.txt为本地文件路径。

二、Pandas转换文本文件到CSV操作

要实现Pandas转换文本文件到CSV操作,需要用到Pandas这个Python库。具体步骤如下:

  1. 导入Pandas库:
import pandas as pd
  1. 读取文本文件:
df = pd.read_table('file.txt', header=None, delim_whitespace=True)

其中,file.txt为文本文件路径,header=None表示不对文件进行标题处理。

  1. 转换成CSV文件:
df.to_csv('file.csv')

其中,file.csv为生成的CSV文件的路径。

示例一:

假设有一个文本文件file.txt,内容如下:

name age gender
Alice 26 F
Bob 31 M
Charlie 45 M

我们需要将它转换成CSV文件file.csv,使用如下代码:

import pandas as pd
df = pd.read_table('file.txt', header=None, delim_whitespace=True)
df.to_csv('file.csv')

执行完毕后,程序会在当前目录下生成一个名为file.csv的文件,内容如下:

,name,age,gender
0,Alice,26,F
1,Bob,31,M
2,Charlie,45,M

示例二:

假设我们已经在HDFS上上传了文件local_file.txt,路径为hdfs://your_hdfs_path/local_file.txt,接下来需要将它下载到本地,并转换成CSV格式。使用如下代码:

from hdfs3 import HDFileSystem
import pandas as pd

# 建立HDFS连接
hdfs = HDFileSystem(host='172.25.0.101', port=8020)

# 从HDFS下载文件到本地
with hdfs.open('hdfs://your_hdfs_path/local_file.txt', 'rb') as f:
   with open('local_file.txt', 'wb') as fw:
      fw.write(f.read())

# 读取文本文件
df = pd.read_table('local_file.txt', header=None, delim_whitespace=True)

# 转成CSV文件
df.to_csv('local_file.csv')

执行完毕后,程序会在当前目录下生成一个名为local_file.csv的文件,内容与示例一相同。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 在 3D 图中绘制图像,python

    【问题标题】:plotting image in a 3D plot, python在 3D 图中绘制图像,python 【发布时间】:2023-04-07 18:29:01 【问题描述】: 我希望在 3 个空间中的任意平面上绘制图像。我已经使用 matplotlib 进行了一些 3d 曲线绘图,而且我运气不错。更具体的做法是将 6 个不同的图像放在一个立方…

    Python开发 2023年4月8日
    00
  • Python 列表的基本操作介绍

    以下是详细讲解“Python列表的基本操作介绍”的完整攻略。 在Python中,列表是一种非常常用的数据类型,它可以存储多个元素,并且支持各种操作。本文将介绍Python列表的基本操作,包括创建列表、访问列表元素、添加和删除元素、列表切片、列表排序等。 创建列表 在Python中,可以使用方括号[]或list()函数来创建一个列表。例如: lst1 = [1…

    python 2023年5月13日
    00
  • 用python爬取豆瓣前一百电影

    用Python爬取豆瓣前100电影的完整攻略 在本攻略中,我们将介绍如何使用Python爬取豆瓣前100电影,并提供两个示例。 步骤1:分析网页 在使用Python爬取豆瓣前100电影之前,我们需要先分析网页。我们可以使用Chrome浏览器的开发者工具分析网页。 以下是分析网页的步骤: 打开Chrome浏览器,进入豆瓣电影排行榜页面。 点击开发者工具,进入开…

    python 2023年5月15日
    00
  • python实现商品进销存管理系统

    Python实现商品进销存管理系统攻略 系统需求分析 商品进销存管理系统主要涉及以下几个模块:- 商品信息维护- 进货管理- 销售管理- 库存管理 该系统需要能够实现如下功能:- 添加、修改、删除商品信息,包括商品名称、规格、单位、进价、售价等- 查看、修改进货单据,包括进货日期、商品名称、数量、单价等- 查看、修改销售单据,包括销售日期、商品名称、数量、单…

    python 2023年5月30日
    00
  • Python HTML解析模块HTMLParser用法分析【爬虫工具】

    PythonHTML解析模块HTMLParser用法分析【爬虫工具】 在本文中,我们将介绍Python中的HTML解析模块HTMLParser的用法。HTMLParser是Python标准库中的一个模块,用于解析HTML文档。我们将介绍HTMLParser的基本用法,包括如何使用HTMLParser类解析HTML文档,以及如何使用回调函数处理HTML标签和数…

    python 2023年5月15日
    00
  • Python入门教程4. 元组基本操作 原创

    下面是详细讲解“Python入门教程4.元组基本操作原创”的完整攻略: 一、前言 本教程是Python入门教程的第四篇,主要介绍Python中元组的基本操作。 二、元组的定义 和列表(List)一样,元组(Tuple)也是一种常见的序列类型,它可以存储多个有序的元素,而且一旦创建后,它的元素就不能被修改了。元组的定义方式如下: tuple_name = (e…

    python 2023年5月14日
    00
  • Python数据结构列表

    Python中的列表是一种常见的数据结构,用于存储一组有序的元素。本文将详细讲解Python中列表的定义、访问、添加、删除、排序和遍历等操作,包括使用索引、切片、append()、insert()、remove()、sort()、reverse()、for循环等。 定义列表 在Python,可以使用方括号 [] 定义一个列表,其中的元素用逗号 , 分隔。下面…

    python 2023年5月13日
    00
  • python 获取毫秒数,计算调用时长的方法

    获取当前时间毫秒数可以使用 datetime 库中的 datetime.now() 方法,其返回值是一个 datetime 对象,可以通过对象属性获取到秒数和毫秒数,并将其转化为毫秒数。 例如: import datetime start_time = datetime.datetime.now() # 执行代码 end_time = datetime.da…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部