我是python初学者,在执行代码时遇到问题。 我以这种方式编写了代码:在这个程序中,我可以得到一个否定的序列。对于所有专栏,但不想为专栏日期提供数字,我不知道如何实现..请帮助我...
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)
已为此输入数据的
:
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
在此程序中,我有某些列需要进行以下操作,例如:通过使用lambda函数,将FirstName和LastName列替换为“ 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
请帮助我找到此输出,任何逻辑都可以。...但不使用Pandas Dataframe