作者sariel0322 (sariel)
看板Python
标题[问题] csv资料格式修改
时间Tue Feb 24 22:28:26 2015
想请问一下,我有个csv的资料内容如下:
http://imgur.com/NYryEgS
希望修改成这样的格式:
http://imgur.com/qfoK9Sf
比如说:
第一个图片中,中间的第一个"R5K7F9",移到最前面(范例第二张图)
如果中间的代号是重复的像是第一个的"R5K7F9"右边的第一个的"IPR006982"(第五列对应其位置)
其实跟第二个"R5K7F9"的左边的"IPR006982"是一样的(第四列对应其位置)
然後依序下来,希望能排成像是第二张图的直行排列
简单来说,我的每一行都是一对一对的(第一列资料跟第三列资料对应,而第二列是标记,第四列是第一列资料直线概念上的位置,第五列资料是第三列直线概念上的位置)
之前为了跑某些程式才把资料转换成这种格式
想请问有没有又快又简单的写法,可以把第一张图的格式写成第二张图
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.126.36.171
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1424788108.A.C56.html
1F:推 ccwang002: 列=栏 (column) 对吧? 你的问题跟 #1KsuHJw9 很像 02/25 01:02
2F:→ ccwang002: 因为转换完的栏位长度不是固定的,在读每一行的时候 02/25 01:03
3F:→ ccwang002: 会受到前几行的结果有不同的 state 。所以直觉上 02/25 01:04
4F:→ ccwang002: 写个 for loop 把连续的值 append,断掉後 yield 出来 02/25 01:05
想到了,我主要的问题并不是栏位长度,而是如何取代前一个物件,原本的配对像是像是:
a Y b
b Y c
我希望转换成:
Y a b c
无论如何,谢谢你里面提到append给了我灵感,直接每次check append的[-1]位置就好了
非常感谢
※ 编辑: sariel0322 (182.234.196.206), 02/25/2015 02:35:26