如何在 Python 中将 csv 的内容转换为小写?

How to convert contents of csv to lowercase in Python?

我已经查看了我能找到的所有线程,但我仍然无法弄清楚,我遇到了各种各样的问题。

第一个问题是我无法将列表中的项目更改为小写,所以我必须先将其转换为字符串。一旦我这样做了,我就不能在不创建双列表的情况下将字符串追加回列表中。为什么我不能简单地将列表更改为小写,删除 csv 中的内容,然后将小写列表粘贴回去?

我最近的尝试,但我已经尝试了很多东西。

with open(teacherDD, 'r+') as f:
read = csv.reader(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
for row in read:
    copyRow = row.copy()
    # print(copyRow)
    del row[:]
    # print(row)
    getLowerStr = str(copyRow).lower()
    # appendLower = row.append(getLowerStr)
    # print(getLowerStr)
    print(row)
    f.write(getLowerStr)
f.close()

如果你只想转换成小写,为什么要使用 csv reader?

您可以使用 fileinput 模块就地编辑行。

Python3.x

import fileinput

for line in fileinput.input("test.txt", inplace=1):
    print(line.lower(), end='') 

Python2.x

import fileinput
import sys

for line in fileinput.input("test.txt", inplace=1):
    sys.stdout.write(line.lower())

这个模块的一个很酷的功能是,当你用它打开一个文件时,用 printsys.stdout.write 打印的任何内容都会被重定向到该文件。 示例输入:

UPPER,CASE,ROW

输出:

upper,case,row