在CSV文件上使用.title()

问题描述 投票:0回答:1

我有一个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根本没有填充。没有错误消息。我究竟做错了什么?

python csv
1个回答
0
投票

我自己想出来,但我想我会发布我的解决方案,包括解决类似问题所需的每个人。

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())
© www.soinside.com 2019 - 2024. All rights reserved.