在下在做数据分析时,原始数据是excel格式的,导入hive表时将其转化为txt格式。

excel文件转txt格式的步骤如下:

1.打开另存为

2.选择txt格式保存

3.打开转成的txt将编码修改为UTF-8

在往hive表中导入数据时常常以换行符‘\n’来分割条数据。然而有时因为数据格式不够标准,即excel单元格中存在着换行符情况。例子如下:

在这个表格中,B3,B4单元格都存在这换行符。如果将其导入到hive中,查询得到的结果将是这样:

姓名 与宝宝的关系

王宝强 宝宝本人

马蓉 "曾经是宝宝的宝宝

现在是宝宝的前妻"

宋喆 "曾经是宝宝的经纪人

现在是宝宝曾经的宝宝的宝宝"

与我们预先想得到的不一样

姓名 与宝宝的关系

王宝强 宝宝本人

马蓉 曾经是宝宝的宝宝 现在是宝宝的前妻

宋喆 曾经是宝宝的经纪人 现在是宝宝曾经的宝宝的宝宝

因此尝试使用python编写脚本来处理问题。开始尝试使用正则表达式进行处理。后面找到了更简便的办法,使用xlrd包对excel文件进行处理。使用pip install xlrd可以安装该包。

下面的代码读取每一个单元格并将其中内容转化为字符串格式(默认为float格式,因此原本的整数可以转化为int去除小数点在转化为字符串),去除字符串中的换行符,将数据直接存储到txt文件中,编码格式为utf-8。

废话不说上代码:

# coding: utf-8

# author: turbob00st version:1.0

'''

usage:python version 3 python脚本与excel文件放在同一路径,cmd输入:py -3 excel2txt.py

清除excel表格中的单元格换行符,并转化为txt格式文件,可以直接导入hive表

'''

import xlrd #导入处理excel文件的包,可以使用pip安装

file = input("输入需要处理的文件名(包含.xls,.xlsx):")

filename = file.split('xls')[0] + 'txt' #定义输出文件名

xls2txt = open(filename,'w',encoding ='utf-8') #创建写入的文件

data = xlrd.open_workbook(file) #打开excel表格

table = data.sheets()[0] #读取第一个sheet

rows = table.nrows #excel文件的行数

cols = table.ncols #ecel文件的列数

for rownum in range(0,rows): #读取行

for colnum in range(0,cols): #读取列

celldata = table.cell(rownum,colnum).value #读取单元格数据,数据格式为float,下面判断将整数数据转化为int

if type(celldata) == float:

if int(celldata) == celldata:

celldata = int(celldata)

celldata = str(celldata) #将数据转化为字符串,再对其中的换行符进行处理

celldata = celldata.replace('\n',' ') #使用python中字符串函数替换换行符为空格

xls2txt.write(celldata +'\t') #单行中的数据用tab分隔符分离

xls2txt.write('\n') #每行之间使用换行符

print('清洗完毕')

xls2txt.close() #重要,防止内存溢出

总结:该代码可以实现将excel表格标准化并转化为UTF-8的txt文件,方便导入数据库。

python excel 单元格换行_数据标准化 使用Python脚本处理excel单元格换行符相关推荐

  1. python标准化_数据标准化与Python实现

    一.原理 数据标准化(Normalization):将数据按照一定比例进行缩放,使其落入到一个特定的小区间. 数据标准化的类别: Min-Max标准化 Z-Score标准化(Standard Scor ...

  2. Python中通过索引名称提取数据loc()函数Python中通过行和列下标提取数据iloc()函数

    [小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python中通过索引名称提取数据 loc()函数 Python中通过 ...

  3. 【Python】猎聘网招聘数据爬虫(Python网络爬虫课设简要)

    [Python]猎聘网招聘数据爬虫(Python网络爬虫课设简要) 注: 本文仅供学习交流使用! 合肥学院-20信管-20302211009 项目文件可自行前往博客主页下载或联系作者qq(341625 ...

  4. python 标准化_数据标准化

    常见的数据标准化方法有以下6种: 1.Min-Max标准化 Min-Max标准化是指对原始数据进行线性变换,将值映射到[0,1]之间 2.Z-Score标准化 Z-Score(也叫Standard S ...

  5. python代码实现中心化_数据预处理——标准化(附python代码)

    数据标准化,是数据清洗的重要环节之一.主要目的是消除"量纲"和"不同规模"的影响,使其所放到相同的数据区间和范围,以减少规模.特征.分布差异等对数据模型的影响. ...

  6. python代码规范化_数据标准化方法及其Python代码实现

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法.标准差法).折线型方法(如三折线法).曲线型方法 ...

  7. python指定数据写入指定excel_python脚本——生成EXCEL,连接数据库,并将指定数据写入EXCEL...

    #!/usr/bin/python # -*- coding: utf-8 -*- #!/usr/bin/env python import MySQLdb import sys import xls ...

  8. excel打开csv错误换行_「乱吐槽·乱学习」excel高手捷径:一招鲜,吃遍天③

    大家好,我是阿乱.话说三十而立,至于立的是什么玩意儿就见仁见智吧(≧∇≦)ノ,不过旗杆什么的先放下来哈,咱们这里说的是身上得有多几个技能,好让我们立于不败之地嘛.当然也欢迎年轻人加入啦,反正你们也免不 ...

  9. lisp对excel其他行列写入_【极简Python 自动化办公】Python写入Excel表格

    [极简Python 自动化办公]Python写入Excel表格 [极简Python 自动化办公]专栏是介绍如何利用python办公,减少工作负荷.篇幅精炼,内容易懂,无论是否有编程基础,都非常适合. ...

  10. JSP设置Excel表格换行_工作中常见的11个Excel难题,一次解决!

    Hello,各位叨友们好~ 假期最后一天,明天就要上班了,叨叨君每天上班的第一件事就是做Excel数据报表,做多了也就积累了一些实用的Excel技巧,今天整理出来分享给大家,希望对大家的工作有所帮助哦 ...

最新文章

  1. 在网易,我是怎样做项目管理的?
  2. 关于 top、left 结合 translate 实现居中的原理探讨
  3. Nadron的Sping配置文件学习
  4. c语言使用函数累加由n个a构成的整数之和,c 语言使用函数累加由n个a构成的整数之和...
  5. java考题_Java考题知识点
  6. js实现点击自动下载文件
  7. avue中怎样隐藏新增和编辑的按钮
  8. 突破技术界限,FVS大屏编辑模式,真正让大屏做到所见即所得
  9. vue子组件向父组件传递数据
  10. Atitit.病毒木马程序的感染 传播扩散 原理
  11. Ubuntu 16.04下用Wine运行的软件出现方块的解决思路(应该是兼容现在所有平台的Wine碰到这个的问题)
  12. keras: 用预训练的模型提取特征
  13. 基于微服务和Docker容器技术的PaaS云平台架构设计
  14. EGLImage使用记录
  15. 阿里美女面试官问我:Flink资源管理有了解吗
  16. STM32学习之温湿度检测——DHT11
  17. 算法 64式 17、排列组合算法整理
  18. QLCDNumber制作的超简单计时器,按下空格键暂停。
  19. 白发怎么调理成黑发,白发能调理成黑发可能吗?
  20. 微信公众号第三方平台投票

热门文章

  1. python 中搞错工作路径的意思导致的相对路径产生bug:[Errno 2] No such file or directory:
  2. C# RSA、AES加密解密
  3. 如何在水平线中间添加文字
  4. 书中自有黄金屋系列5:读《正面管教》
  5. 学python要有多少英语词汇量_英文总共20万个词汇量!学好英文,到底要背多少单词才够用?...
  6. 【视频通话卡顿】【语音通话卡顿】PC端QQ、微信每天接通语音电话或视频通话总会出现首卡半分钟左右的童鞋请进
  7. Codeforce Gym 100015I Identity Checker 暴力
  8. 织梦系统参数设置出现Token mismatch!提示的解决办法
  9. 三星s8html查看器,【三星GALAXYS8评测】屏幕:全视屏显示素质经得起数据检验_三星 GALAXY S8_手机评测-中关村在线...
  10. UIPATH 调用SAP BAPI