Python 拆分excel单元格的值

我有一个dataframe

df = pd.DataFrame({'HONGKONG to ZHUHAI\n'
              'aaassss\n'
              'jkjkjdl\n'
              'kdkdkffffejke\n'
              'eflekfle\n'
              'kjfkjw\n'
              'wkfjkwejf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n':[],
'Hsgfd to sacdfgaHAI\n'
              'we223s\n'
              'f3423l\n'
              'few44ejke\n'
              '435fdg\n'
              'fdg4\n'
              'wkfjkwejf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n':[],
'HssdfsdfsNG to saregraHAI\n'
              'we223s\n'
              'f3423l\n'
              'few44ejke\n'
              '435fdg\n'
              'fdg4\n'
              'wkfjkwejf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n':[],
              'HscsNG to sacsaHAI\n'
              'we223s\n'
              'f3423l\n'
              'few44ejke\n'
              '435fdg\n'
              'fdg4\n'
              'wkfjkwejf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n': [],
'HONfdNG to ZHUreAI\n'
              'aaassss\n'
              'jkjkjdl\n'
              'kdkdkffffejke\n'
              'eflekfle\n'
              'kjfkjw\n'
              'wkfergljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n':[],
'gffg to ZHfgheAI\n'
              'aaassss\n'
              'jkjkjdl\n'
              'kdkdkffffejke\n'
              'eflekfle\n'
              'kjfkjw\n'
              'wkfergjf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n':[],
'gffg to ZdfgeAI\n'
              'aaassss\n'
              'jkjkjdl\n'
              'kdkdkffffejke\n'
              'eflekfle\n'
              'kjfkjw\n'
              'wkfjrgref\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n':[]
              })

img

我想要拆分整份excel单元格变成下面这样
以A1为例

img

变成这样

img

  • 改变您的数据结构可以办到。
  • 前面想错了,我。数据应该是这样子的字典结构😭

    img


    key为列名,值列表为列数据单元格。

  • 更改后的代码
#!/sur/bin/nve python
# coding: utf-8

chars = ('HONGKONG to ZHUHAI\n'
              'aaassss\n'
              'jkjkjdl\n'
              'kdkdkffffejke\n'
              'eflekfle\n'
              'kjfkjw\n'
              'wkfjkwejf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n')
chars = chars.split('\n')
mydata = {chars[0]: chars[1:]}

print(type(chars), mydata)



下面的先前的不对想法

  • 用dict.fromkeys()方法把str.split('\n')方法拆分的列表字符串变成字典keys,就可以达成您的预期。

    img


    将字典变成python DataFrame框架数据,就是您要的样子了。😄

  • python 代码

#!/sur/bin/nve python
# coding: utf-8

chars = ('HONGKONG to ZHUHAI\n'
              'aaassss\n'
              'jkjkjdl\n'
              'kdkdkffffejke\n'
              'eflekfle\n'
              'kjfkjw\n'
              'wkfjkwejf\n'
              'dkjakljd\n'
              'asjskajd\n'
              'askdklajd\n'
              'akdjkjdkl\n'
              'dkljqkwld\n')


print(type(chars), dict.fromkeys(chars.split('\n')))