想要将detail中的内容,变成DataFrame存入excel
import re
detail = '木香750克,排草500克,桂枝400克,母丁香750克,红扣500克 枳壳500克,青果500克,烟桂500克,山楂400克、毛桃400克,干八角500克。'
#将上面的字符串中的多余字符去掉
test = re.findall('\w+',detail)
#将上面的字符串数字取出来
num = re.findall('\d+',detail)
print(num)
print(test)
for i in range(len(test)):
#test中的数字去掉,留下名字和单位
test[i] = re.sub('\d',' ',test[i])
#将名字和单位分开
test2 = re.split('\s', test[i])
#删除多余空格
while '' in test2:
test2.remove('')
print(test2)
['750', '500', '400', '750', '500', '500', '500', '500', '400', '400', '500']
['木香750克', '排草500克', '桂枝400克', '母丁香750克', '红扣500克', '枳壳500克', '青果500克', '烟桂500克', '山楂400克', '毛桃400克', '干八角500克']
['木香', '克']
['排草', '克']
['桂枝', '克']
['母丁香', '克']
['红扣', '克']
['枳壳', '克']
['青果', '克']
['烟桂', '克']
['山楂', '克']
['毛桃', '克']
['干八角', '克']
希望将:
['木香', '克']
['排草', '克']
['桂枝', '克']
['母丁香', '克']
['红扣', '克']
['枳壳', '克']
['青果', '克']
['烟桂', '克']
['山楂', '克']
['毛桃', '克']
['干八角', '克']
和
['750', '500', '400', '750', '500', '500', '500', '500', '400', '400', '500']
变成DataFrame 存入excel
希望将:
['木香', '克']
['排草', '克']
['桂枝', '克']
['母丁香', '克']
['红扣', '克']
['枳壳', '克']
['青果', '克']
['烟桂', '克']
['山楂', '克']
['毛桃', '克']
['干八角', '克']
和
['750', '500', '400', '750', '500', '500', '500', '500', '400', '400', '500']
变成DataFrame 存入excel
你题目的解答代码如下:
import pandas as pd
import re
detail = '木香750克,排草500克,桂枝400克,母丁香750克,红扣500克 枳壳500克,青果500克,烟桂500克,山楂400克、毛桃400克,干八角500克。'
test = re.findall('([\u4e00-\u9fa5A-Za-z]+)(\d+)(克)',detail)
print(test)
name = [x[0] for x in test]
num = [int(x[1]) for x in test]
print(name)
print(num)
data = {
"名称":name,
"重量(克)":num
}
df = pd.DataFrame(data)
print(df)
df.to_excel(r'xxxx.xlsx',index=None)
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!