在这个test文件里。如果ID和DATE都相等,那么把他们合并到一行。
ID,NAME,GENDER,AGE,KESHI,DATE,TYPE,DIAG保留第一行的值就好,PROJ_1至RE_6有值的话就依次往后面添加成一行。也就是ID和DATE都相同的话,就合并成一行。
test文件地址:http://pan.baidu.com/s/1slP4wsX
plus:
最最最期望得到的结果为:
谢谢大家的帮助!
在这个test文件里。如果ID和DATE都相等,那么把他们合并到一行。
ID,NAME,GENDER,AGE,KESHI,DATE,TYPE,DIAG保留第一行的值就好,PROJ_1至RE_6有值的话就依次往后面添加成一行。也就是ID和DATE都相同的话,就合并成一行。
test文件地址:http://pan.baidu.com/s/1slP4wsX
plus:
最最最期望得到的结果为:
谢谢大家的帮助!
可以把记录都放到一个以ID和Date为key的字典里去,如果字典里没有这个 key,则直接放进去, 如果已经有了,则把“PROJ_1至RE_6有值的话就依次往后面添加”。
我不太清楚你的“合并成一行”是什么意思, 但是大致代码可以类似下面这样,如果合并的方式不对,你可以自己修改:
import csv
result = {}
with open('/Volumes/MacDocuments/Downloads/testSheet.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
print(len(row))
key = '{}-{}'.format(row[0], row[5])
if result.get(key, None):
result[key].extend(row[8:])
else:
result[key] = row
print(result)
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
用Perl6实现了一个
使用方法