# coding:utf-8
import csv
import pdb
ids_input,datas_input,colomn_input = '', '', ''
ids_format,datas_format,column_format = '', '', []
final_data = {}
# 输入包含重复值的key
ids = input('全部id:')
# 将换行输入的数据变成特定格式字符串
for line in iter(input, ids_input):
ids_format += line + '\n'
# 输入不包含重复值的对应数据
datas = input('完整数据:')
for line in iter(input, datas_input):
datas_format+= line + '\n'
# 输入完整列名,方便输出
column_num = input('完整列名:')
for line in iter(input, colomn_input):
column_format.append(line)
# 将输入值格式化为数组
id = ids_format.split()
data = datas_format.split()
# 完整数据变成 key->value 字典
key, value = '', []
for i in range(len(data)):
column_num = len(column_format)
if (i+1)%column_num == 1:
key = data[i]
elif (i+1)%column_num == 0:
value.append(data[i])
final_data[key] = value
value = []
else:
value.append(data[i])
#python2可以用file替代open
with open("names.csv","w", newline='') as csvfile:
writer = csv.writer(csvfile)
#先写入columns_name
writer.writerow(column_format)
list = []
#循环所有id 补全信息并输出
for i, v in enumerate(id):
list.append(str(v))
if str(v) in final_data.keys():
f_list = list+final_data[str(v)]
else:
kong={}
kong[str(v)] = []
f_list = list + kong[str(v)]
writer.writerow(f_list)
list = []
csv文件内容
excel打开