Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

要做的事情

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

变为

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

其实这个不难,就是有个坑在里面。

就比如说我第一次就跳到坑里去了:一开始我的想法是用切片。但是运行下来发现两位数的按照切片的方法的话只能切到一位。就比如13只能得到1。

要做的事情

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

变为

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

其实这个不难,就是有个坑在里面。

就比如说我第一次就跳到坑里去了:一开始我的想法是用切片。但是运行下来发现两位数的按照切片的方法的话只能切到一位。就比如13只能得到1。

思路:

①取出数据:

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

②处理数据(提取出数字):

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

③分离数据(将室前面的数字和厅前面的数字分别存入不同的列表中):

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

④存入数据(老方法啦):

Python之从Excel一列内提取数字(如何用python提取Excel中特定列的数字)

⑤运行代码(记得每一次运行都要把text-1.xlsx删除掉哦)

全部代码如下:

import re
import pandas as pd
import openpyxl
import numpy as np
def data_write(listh, dataz):
   file1 = openpyxl.Workbook()
   outws = file1.create_sheet(index=0)  # 创建sheet
   outws.append(listh)

   for f in range(len(dataz[0])):
       outws.append(dataz[:, f].tolist())
   file1.save("text-1.xlsx")

if __name__ == '__main__':
   df = pd.read_excel('3-30.xlsx',dtype=object)
   data2 = df.values.tolist()#[[''],['']....]
   # #print(data2)
   list0=[]#['','','',''.....]
   for i in data2:
       list0.append(i[0])
       #print(list0)
   str1=",".join(list0)
   listz=re.findall(r"d+d*", str1)#获取str里面所有的数字
   # #print(listz)
   lists=[]#几室
   listt=[]#几厅
   for i in range(len(listz)):
       if i%2 == 0:
           lists.append(listz[i])
       else:
           listt.append(listz[i])
   print(listz)
   print(lists)
   print(listt)
   list=['房间号','室','厅']
   dataz=[list0,lists,listt]
   dataz = np.array(dataz)
   data_write(list,dataz)

版权声明:本文内容由互联网用户投稿发布,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2211788188@qq.com 举报,一经查实,本站将立刻删除。如需转载请注明出处:https://www.wptmall.com/a/article/18706

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注