Python一列的字符串分拆成三部分?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python一列的字符串分拆成三部分?相关的知识,希望对你有一定的参考价值。

原来的excel表格的PRODUCT列包含了很多信息,如下

PRODUCT
PN800/4-1800-10
NN300(66)-1400*6
NN300(66)-1600*6

把PRODUCT这一列的内容,分拆成ABC三列,如下
PRODUCT A B C
PN800/4-1800-10 PN800/4 1800 10
NN300(66)-1400*6 NN300(66) 1400 6
NN300(66)-1600*6 NN300(66) 1600 6
求助
感谢各位

用pandas库来处理比较方便

import pandas as pd

df=pd.read_excel('d:/你的文件名.xlsx') # 改成你自己文件的路径

df.PRODUCT.str.split(r'[\\+\\-*\\\\]',expand=True).rename(dict(enumerate(['PRODUCT','A','B'])),axis=1).to_excel('d:/结果.xlsx')

追问

谢谢帮助,如果增加一个需求,就是把下列的首字母PN, NN,NN都单独拿出来,也作为一列,该怎么办。
PN800/4-1800-10
NN300(66)-1400*6
NN300(66)-1600*6

追答

参考技术A 固定长度分割,直接通过[:3] 这种来取。 固定分隔符一般用split 看你需求,其他的方式也有。最好有个例子。 参考技术B 我觉得一般情况下的话像这个可以直接就从后台的官网里面进行下去吧区分就可以的啦嗯可以直接就是从三个方向进行

将python字典写入CSV列:第一列的键,第二列的值

【中文标题】将python字典写入CSV列:第一列的键,第二列的值【英文标题】:Write python dictionary to CSV columns: keys to first column, values to second 【发布时间】:2014-09-06 07:42:48 【问题描述】:

我正在寻找一种将 python 字典写入列的方法(第一列中的键和第二列中的值)。这个link 展示了如何将列表写入列,但我想知道是否有一种方法可以在不将我的字典转换为两个压缩列表的情况下做到这一点。

myDict = 1:'a', 2:'b', 3:'c'

keyList = myDict.keys()
valueList = myDict.values()

rows = zip(keyList, valueList)

with open('test.csv', 'wb') as f:
    writer = csv.writer(f)
    for row in rows:
        writer.writerow(row)

想要的结果:

1;a
2;b
3;c

【问题讨论】:

【参考方案1】:

你可以简单地在 python 2.X 中做:

with open('test.csv', 'wb') as f:
    writer = csv.writer(f)
    for row in myDict.iteritems():
        writer.writerow(row)

对于python 3.X,将for循环行改为for row in myDict.items():

【讨论】:

【参考方案2】:

做一个稍微短一点的版本:

rows = myDict.iteritems()

(或.items() 用于 Python 3。)

要获得; 分隔符,请将delimiter 传递给csv.readercsv.writer。在这种情况下:

writer = csv.writer(f, delimiter=';')

【讨论】:

这将产生1;2;3\na;b;c,而不是所需的输出。 谢谢!我花了很长时间才找到合适的答案,你帮我找到了我的解决方案:with open('manifesttest2.csv', "wb") as f: writer = csv.writer(f, delimiter=',') writer.writerow(amazonData) @MichaelRomrell CSV 的读取器和写入器对象应默认使用, 作为分隔符(CSV 代表逗号分隔值)。不传参数能行吗?

以上是关于Python一列的字符串分拆成三部分?的主要内容,如果未能解决你的问题,请参考以下文章

关于pandas处理数据,怎么提取某一列的部分数字

使用行上的部分字符串匹配返回DataFrame项pandas python [重复]

如何在python中部分拆分数据框的字符串元素? [复制]

Excel VBA将一列的字符串与第二列的字符串进行比较

从另一列的子字符串更新一列

Python Pandas 使用另一列删除子字符串