最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用pandas讀取表格數(shù)據并進行單行數(shù)據拼接的詳細教程

 更新時間:2021年03月03日 09:18:10   作者:gxcuizy  
這篇文章主要介紹了使用pandas讀取表格數(shù)據并進行單行數(shù)據拼接的詳細教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

業(yè)務需求

一個幾十萬條數(shù)據的Excel表格,現(xiàn)在需要拼接其中某一列的全部數(shù)據為一個字符串,例如下面簡短的幾行表格數(shù)據:

id code price num
11 22 33 44
22 33 44 55
33 44 55 66
44 55 66 77
55 66 77 88
66 77 88 99

 現(xiàn)在需要將code的這一列用逗號,拼接為字符串,并且每個單元格數(shù)據都用單引號包含,需要拼接成字符串'22','33','44','55','66','77',這樣的情況,我們需要怎么處理呢?當然方式有很多……

多行文本批量處理

有的時候,我們會遇到需要同時處理多行文本的情況,很多文本編輯器都支持批量操作多行文本,這里我主要說一下Sublime Text,下面是操作的快捷鍵,有需要的可以嘗試用一下,確實挺方便的。

  • 選中需要操作的多行,按下Ctr+Shift+L即可同時編輯這些行
  • 鼠標選中文本,反復按CTRL+D即可繼續(xù)向下同時選中下一個相同的文本進行同時編輯
  • 鼠標選中文本,按下Alt+F3即可一次性選擇全部的相同文本進行同時編輯

如何節(jié)省效率

在工作中,可能會存在一些表格數(shù)據處理的情況,比如運營給你一個表格,表格里有類似:訂單號呀、產品ID啊、商品SKU等,需要你協(xié)助導出這些數(shù)據里的明細數(shù)據以便他們做分析用,一兩次,我們可以快速用上面的方式處理,但是這種方式對于大文本的處理可能會存在卡頓的情況,操作效率較低,如果小文本的話,那么還是很方便的。
如果多次遇到這種情況,是否想要做成一個工具來快速處理呢,也就是,這種批量拼接同樣格式的數(shù)據,我們可以寫一個小工具來實現(xiàn),即快速又省事,可以大大減少重復的工作消耗。

pandas讀取表格數(shù)據并處理

這我們使用Python的pandas模塊來讀取表格指定某列的數(shù)據,再按照我們的拼接格式進行循環(huán)處理,最終把拼接的字符串寫入文本文件中,方便保留和使用拼接的數(shù)據。

sheet = pandas.read_excel(io=file_name, usecols=[line_num])
data = sheet.values.tolist()
str_data = ''
# 循環(huán)處理數(shù)據
print_msg('已獲取列數(shù)據條數(shù)[' + str(len(data)) + '],開始處理數(shù)據……')
for x in range(len(data)):
  if str(data[x][0]) != 'nan':
    str_data += "'" + str(data[x][0]) + "',"

完整源碼

因為腳本需要多次使用,并且針對不同文件的不同列,所以,我們采用接受關鍵參數(shù)的形式,可以不改動任何代碼,就可以直接使用此腳本來完整我們的數(shù)據拼接,同時,我們還可以使用pyinstaller模塊來將腳本進行打包成exe的window可執(zhí)行文件,使其在無Python的運行環(huán)境中也可以使用,打包命令為:pyinstaller -F -i favicon.ico join_excel_data.py,我已有打包的上傳到交友網站Github上,大家有興趣的話,可以點擊查看哦,交個朋友地址:github.com/gxcuizy

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
拼接Excel表格單行數(shù)據,并寫入文本
author: gxcuizy
time: 2021-03-01
"""

import pandas
import random
import os
import time


def print_msg(msg=''):
  """打印信息"""
  now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  print('[' + now_time + '] ' + msg)


# 程序主入口
if __name__ == "__main__":
  # 獲取傳入參數(shù)
  file_name = input('請輸入當前目錄下的表格文件名(例如“01.xlsx”):')
  line_num = input('請輸入要拼裝的數(shù)據第幾列(例如“1”):')
  # 判斷文件是否存在
  if os.path.exists(file_name) == False:
    print_msg('文件不存在')
    os.system("pause")
    exit(0)
  # 判斷輸入的行數(shù)是否為數(shù)字
  if line_num.isdigit() == False:
    print_msg('請輸入列數(shù)的數(shù)字')
    os.system("pause")
    exit(0)
  try:
    # 獲取表格數(shù)據
    print_msg('開始獲取文件[' + file_name + ']的第[' + str(line_num) + ']列數(shù)據')
    line_num = int(line_num) - 1
    sheet = pandas.read_excel(io=file_name, usecols=[line_num])
    data = sheet.values.tolist()
    str_data = ''
    # 循環(huán)處理數(shù)據
    print_msg('已獲取列數(shù)據條數(shù)[' + str(len(data)) + '],開始處理數(shù)據……')
    for x in range(len(data)):
      if str(data[x][0]) != 'nan':
        str_data += "'" + str(data[x][0]) + "',"
    # 寫入文本文件
    print_msg('數(shù)據處理完畢,開始寫入……')
    random_num = random.randint(1000, 9999)
    with open('str_' + str(random_num) + '.txt', 'w') as f:
      f.write(str_data.strip(','))
    print_msg('數(shù)據寫入完畢.')
  except Exception as err_info:
    # 異常信息
    print_msg(str(err_info))
  # 防止exe程序執(zhí)行結束閃退
  os.system("pause")

到此這篇關于使用pandas讀取表格數(shù)據并進行單行數(shù)據拼接的詳細教程的文章就介紹到這了,更多相關pandas讀取表格并拼接內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • K最近鄰算法(KNN)---sklearn+python實現(xiàn)方式

    K最近鄰算法(KNN)---sklearn+python實現(xiàn)方式

    今天小編就為大家分享一篇K最近鄰算法(KNN)---sklearn+python實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python減少循環(huán)層次和縮進的技巧分析

    Python減少循環(huán)層次和縮進的技巧分析

    這篇文章主要介紹了Python減少循環(huán)層次和縮進的技巧,結合實例形式較為詳細的分析了Python優(yōu)化代碼跳出循環(huán)以減少循環(huán)層次的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-03-03
  • 10個python爬蟲入門實例(小結)

    10個python爬蟲入門實例(小結)

    這篇文章主要介紹了10個python爬蟲入門實例(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 關于sklearn中模塊包導入報錯的通用解決方法

    關于sklearn中模塊包導入報錯的通用解決方法

    這篇文章主要介紹了關于sklearn中模塊包導入報錯的通用解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python實現(xiàn)使用遺傳算法進行圖片擬合

    python實現(xiàn)使用遺傳算法進行圖片擬合

    最近做項目需要圖像擬合,本文主要介紹了python實現(xiàn)使用遺傳算法進行圖片擬合,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • TensorFlow中關于tf.app.flags命令行參數(shù)解析模塊

    TensorFlow中關于tf.app.flags命令行參數(shù)解析模塊

    這篇文章主要介紹了TensorFlow中關于tf.app.flags命令行參數(shù)解析模塊,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Matplotlib繪制混淆矩陣的實現(xiàn)

    Matplotlib繪制混淆矩陣的實現(xiàn)

    對于機器學習多分類模型來說,其評價指標除了精度之外,常用的還有混淆矩陣和分類報告,下面來展示一下如何繪制混淆矩陣,這在論文中經常會用到。感興趣的可以了解一下
    2021-05-05
  • Python lambda表達式filter、map、reduce函數(shù)用法解析

    Python lambda表達式filter、map、reduce函數(shù)用法解析

    這篇文章主要介紹了Python lambda表達式filter、map、reduce函數(shù)用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python cookbook(數(shù)據結構與算法)將多個映射合并為單個映射的方法

    Python cookbook(數(shù)據結構與算法)將多個映射合并為單個映射的方法

    這篇文章主要介紹了Python cookbook(數(shù)據結構與算法)將多個映射合并為單個映射的方法,結合實例形式分析了Python字典映射合并操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • 解析Python中的二進制位運算符

    解析Python中的二進制位運算符

    這篇文章主要介紹了解析Python中的二進制位運算符,是Python學習中的基本知識,需要的朋友可以參考下
    2015-05-05

最新評論

盈江县| 邮箱| 古丈县| 集安市| 永康市| 通榆县| 蒙城县| 永顺县| 贡觉县| 巴里| 崇左市| 金溪县| 龙江县| 勃利县| 肥城市| 沙湾县| 敦煌市| 高阳县| 镇赉县| 曲阳县| 牡丹江市| 明星| 濉溪县| 洮南市| 镇江市| 古交市| 莒南县| 无为县| 佛坪县| 张家界市| 左贡县| 汽车| 台北市| 英吉沙县| 宣武区| 上蔡县| 舞钢市| 敦煌市| 桐梓县| 常山县| 石嘴山市|