redaiconglin 发表于 2022-5-27 10:57:25

for循环pandas如何写入数据

各位老师,我需要从文本文档中提取出所有数据后将里面的数据保存到excel文件中。并且需要将蔬菜和水果分别保存在水果Sheet和蔬菜sheet页中。我尝试使用for循环可是每次只能保存最后一条数据,无法完全保存整个数据,pandas在for循环下能将所有数据保存到excel中吗?谢谢老师帮我看看。感谢

阿奇_o 发表于 2022-5-27 17:15:15

# 1. 获取数据
df = pd.read_csv('abc.txt', encoding='GBK', sep=', ', header=None)
# 考察数据 ……(略)

# 2. 清洗数据
import re
df = df.applymap(lambda x :re.sub("['\[\]]", "", x)).reset_index()
df.columns = cols
df = df.astype(dict(zip(df.columns, *3)))

# 3. 输出结果
df1 = df[ df['品类'] == '蔬菜'].copy().reset_index(drop=True)
df2 = df[ df['品类'] == '水果'].copy().reset_index(drop=True)
df1['序号'] = range(1, len(df1)+1)
df2['序号'] = range(1, len(df2)+1)

with pd.ExcelWriter('results.xlsx') as writer:
    df1.to_excel(writer, sheet_name='蔬菜', index=False)
    df2.to_excel(writer, sheet_name='水果', index=False)

redaiconglin 发表于 2022-5-28 16:59:15

阿奇_o 发表于 2022-5-27 17:15


# 1. 获取数据
df = pd.read_csv('abc.txt', encoding='GBK', sep=', ', header=None)
# 考察数据 ……(略)

# 2. 清洗数据
import re
df = df.applymap(lambda x :re.sub("['\[\]]", "", x)).reset_index()
df.columns = cols                  #老师这个位置的cols定义的是什么
df = df.astype(dict(zip(df.columns, *3)))

# 3. 输出结果
df1 = df[ df['品类'] == '蔬菜'].copy().reset_index(drop=True)
df2 = df[ df['品类'] == '水果'].copy().reset_index(drop=True)
df1['序号'] = range(1, len(df1)+1)
df2['序号'] = range(1, len(df2)+1)

with pd.ExcelWriter('results.xlsx') as writer:
    df1.to_excel(writer, sheet_name='蔬菜', index=False)
    df2.to_excel(writer, sheet_name='水果', index=False)

redaiconglin 发表于 2022-5-28 18:59:53

阿奇_o 发表于 2022-5-27 17:15


感谢老师的讲解。非常强大的方法。谢谢了
页: [1]
查看完整版本: for循环pandas如何写入数据