我是python初学者,在执行代码时遇到了问题。。 我写了一段代码way:In this 程序我可以得到一个序列号为所有列,但不想列日期的数字,我不知道如何实现它。。请帮帮我
with open("input2.csv", 'r',encoding="utf8") as csvfile:
# creating a csv reader object
reader = csv.DictReader(csvfile, delimiter=',')
data = {}
for row in reader:
# print(row)
for header, value in row.items():
try:
data[header].append(value)
except KeyError:
data[header] = [value]
# Loop through all keys
for key in data.keys():
values = data[key]
things = list(sorted(set(values), key=values.index))
for i, x in enumerate(data[key]):
data[key][i] = things.index(x) + 1
# print(data[key][i])
NewData=data[key][i]
print(NewData)
with open("OuputFile.csv", "w") as outfile:
writer = csv.writer(outfile)
# Write headers
writer.writerow(data.keys())
# Make one row equal to one value from each list
rows = zip(*data.values())
# Write rows
writer.writerows(rows)
其中a已获取如下输入数据:
job_Id FirstName LastName Address Email Date/Time
1 snehil singh marathalli ss@gmail.com 12/10/2011:02:03:20
2 salman khan marathalli ss@gmail.com 12/11/2011:03:10:20
3 Amir khan HSR ar@gmail.com 11/22/2009:09:03:20
4 Rakhesh kumar HSR rakesh@gmail.com 09/15/2010:02:03:55
5 Ram sharma marathalli r@gmail.com 01/10/2014:12:03:20
6 Shyam shahi BTM ss@gmail.com 12/17/2012:01:03:20
7 salman khan HSR ss@gmail.com 11/08/2016:15:03:20
8 Amir khan BTM ar@gmail.com 07/10/2013:04:02:30
9 snehil singh Majestic sne@gmail.com 03/20/2018:02:03:20
在这个程序中,我有一个特定的列,其中需要执行以下操作:FirstName和LastName列被lambda函数替换为“Fullname”。 日期/时间列只能打印日期,不能打印时间。 完成此操作后,所有字符串都应替换为数字序列,重复的字符串应打印相同的数字
输出应如下所示:
job_Id FullName Address Email Date
1 1 1 1 12/10/2011
2 2 1 1 12/11/2011
3 3 2 2 11/22/2009
4 4 2 3 09/15/2010
5 5 1 4 01/10/2014
6 6 3 1 12/17/2012
7 2 2 1 11/08/2016
8 3 3 2 07/10/2013
9 1 4 5 03/20/2018
请帮我找到这个输出,任何逻辑都可以……但是不使用熊猫数据帧
目前没有回答
相关问题 更多 >
编程相关推荐