将遍历出来的列表变成DataFrame

问题遇到的现象和发生背景

想要将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)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img