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

时间:2017-06-28 15:48:17

标签: python csv lowercase

我看过我能找到的所有主题,但我仍然无法弄清楚,我有各种各样的问题。

第一个问题是我无法将列表中的项目更改为小写,因此我必须先将其转换为字符串。一旦我这样做,我就不能将字符串追加到列表中而不创建双列表。为什么我不能简单地将列表更改为小写,删除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()

1 个答案:

答案 0 :(得分:2)

如果您只想转换为小写,为什么要使用csv阅读器?

您可以使用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