【问题标题】:Split or text-to-column a header cell in python, pandas, openpyxl在 python,pandas,openpyxl 中拆分或文本到列标题单元格
【发布时间】:2020-06-24 23:13:56
【问题描述】:

我想要一些关于如何使用 python、pandas 或 openpyxl 拆分 excel 标题单元格的建议(我目前正在尝试学习。这是我在 excel/vba 中使用 text-to-列。但是我在尝试让它与 Python 一起工作时遇到了错误......我有一个数据框并使用 pd.read_excel 到文件中。我可以打印(df.columns.tolist())来查看我的列。 我想要一段代码将每个测试# 放入它自己的列中。

这些都是数据帧中的标头。

这就是我想要完成的。

我曾尝试过这种方法,认为 5 是我需要的列。

df.columns = df.columns[5].split(',')

我也试过这个方法。在这里,我想我必须在第一条语句中列出我想要的内容以及当前 E1 单元的名称。分隔符是 ',' 每个测试#之间的逗号。

df[['test1','test2','test3','test4','test5',test6','test7','test8','test9']] = 
df.test1,test2,test3,test4,test5,test6,test7,test8,test9.str.split(",",expand=True,)

任何帮助将不胜感激。谢谢

这是上面已经发布的数据框版本的 excel 版本。

【问题讨论】:

  • 文件中的标题行是什么样的?
  • Hey Ehsan,我发布了我已加载到 pandas/python 中的文件的 excel 图片。上图是之前和之后的 print(df) 版本。
  • 谢谢。请避免在 SO 上发布图片,而应复制为文本。

标签: python pandas split openpyxl strsplit


【解决方案1】:

以下代码实质上是获取感兴趣列的名称,将其从数据框中删除,然后将其子组件添加回数据框中。

import pandas as pd

df = pd.read_excel("example.xlsx")
column_name_list = df.columns[-1].split(',')
df = df.drop(df.columns[-1], axis=1)
for column_name in column_name_list:
    df[column_name] = pd.Series() 

【讨论】:

  • 嗨,布赖恩,我说得太早了。当我屏幕打印(df.columns.tolist())时,代码有效。一切看起来都很棒。但是,当我对 example_out.xlsx 执行 writer.save() 时,单元格不会拆分为单个列。有点奇怪。有什么想法吗?
  • 为什么不针对新问题更新原帖,以便我更好地帮助您?
猜你喜欢
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 2020-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-16
相关资源
最近更新 更多