用python将csv文件中乱码的用户列重新赋值。最后从1开始用数字代替现有的用户id,不删除重复,用相同数字代替相同id,跳过第一行
时间: 2023-05-28 18:05:44 浏览: 52
假设原始csv文件名为data.csv,乱码的用户列名为"用户",可以使用以下代码实现:
```python
import csv
# 读取csv文件
with open('data.csv', 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
rows = list(reader)
# 获取用户列的索引
header = rows[0]
user_index = header.index('用户')
# 重新赋值用户列并用数字代替
user_dict = {}
for i in range(1, len(rows)):
user = rows[i][user_index]
if user not in user_dict:
user_dict[user] = len(user_dict) + 1
rows[i][user_index] = user_dict[user]
# 写入新的csv文件
with open('new_data.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(rows)
```
这段代码首先读取原始csv文件,然后获取"用户"列的索引。接着遍历每一行数据,将"用户"列的值去重并用数字代替,同时记录每个用户对应的数字。最后将新的数据写入一个新的csv文件中。