Skip to main content
 首页 » 编程设计

Python-修改csv文件

2025年05月04日11kevingrace

现在我知道在读取 csv 文件时修改它通常是不可行的,因此您需要创建一个新的 csv 文件并写入它。我遇到的问题是保留数据的原始顺序。

输入的 csv 文件如下所示:

C1       C2         C3 
apple    BANANA     Mango 
pear     PineApple  StRaWbeRRy 

我想将所有数据都变成小写并输出一个新的 csv 文件,如下所示:

C1       C2         C3 
apple    banana     mango 
pear     pineapple  strawberry 

到目前为止,我可以遍历输入的 csv 文件并将所有值转换为小写,但我不知道如何将其重写回该格式的 csv 文件。我的代码是:

def clean (input) 
  aList = [] 
  file = open(input, "r") 
  reader = csv.reader(file, delimiter = ',') 
  next(reader, None) # Skip the header but I want to preserve it in the output csv file 
  for row in reader: 
     for col in row: 
        aList.append(col.lower()) 

现在我有了一个包含所有小写数据的列表,如何将它重写回与输入格式相同(行数和列数相同)的 csv 文件,包括我在代码中跳过的标题行.

请您参考如下方法:

Pandas 方式:

使用 pandas 读取文件并获取数据框。然后你可以简单地使用 lower()

import pandas as pd 
 
def conversion(text): 
    return text.lower() 
     
 
df = pd.read_csv(file_path) 
df[column_name] = df[column_name].map(conversion) 

甚至一个衬垫:

df[column_name] = df[column_name].apply(lambda x: x.lower()) # If you have nan or other non-string values, you may need to convert x to string first like str(x).lower() 

然后你可以使用to_csv保存它功能