要做的事情
变为
其实这个不难,就是有个坑在里面。
就比如说我第一次就跳到坑里去了:一开始我的想法是用切片。但是运行下来发现两位数的按照切片的方法的话只能切到一位。就比如13只能得到1。
要做的事情
变为
其实这个不难,就是有个坑在里面。
就比如说我第一次就跳到坑里去了:一开始我的想法是用切片。但是运行下来发现两位数的按照切片的方法的话只能切到一位。就比如13只能得到1。
思路:
①取出数据:
②处理数据(提取出数字):
③分离数据(将室前面的数字和厅前面的数字分别存入不同的列表中):
④存入数据(老方法啦):
⑤运行代码(记得每一次运行都要把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)