我有一个CSV文件,我希望文件中每个名字的第一个字母大写,其他字母大写。我试图使用.title()来完成这个。我希望使用大写字母(CleanNames.csv)的CSV文件将从其他CSV(ValidNames.csv)中“拉出”这些名称,这些名称正在“拉动”这些名称从无组织名称列表(10000DirtyNames.csv)。
这是我到目前为止:
import re
import csv
with open("10000DirtyNames.csv", "r") as file:
with open('ValidNames.csv', 'w+') as ValidNames_file:
write = csv.writer(ValidNames_file, delimiter=',');
data = file.read();
pattern = "[A-Za-z]{1,}";
search = re.findall(pattern, data);
write.writerow(search);
with open('CleanNames.csv', 'w') as CleanNames_file:
write2 = csv.writer(CleanNames_file, delimiter=',');
data2 = ValidNames_file.read();
write2.writerow(data2.title());
它的工作原理除了CleanName.csv根本没有填充。没有错误消息。我究竟做错了什么?
我自己想出来,但我想我会发布我的解决方案,包括解决类似问题所需的每个人。
import re
import csv
with open("10000DirtyNames.csv", "r") as file:
with open('ValidNames.csv', 'w+') as ValidNames_file:
write = csv.writer(ValidNames_file, delimiter=',');
data = file.read();
pattern = "[A-Za-z]{1,}";
search = re.findall(pattern, data);
write.writerow(search);
with open('ValidNames.csv') as ValidNames_file, open('CleanNames.csv', 'w') as CleanNames_file:
for name in ValidNames_file:
CleanNames_file.write(name.title())