我有一个 .csv
格式的 .txt
文件。我正在考虑将第一列中的文本大写
的最佳方式。
.capitalize()
是一个字符串方法,所以我考虑了以下内容;我需要打开文件,将数据转换为字符串列表,将所需的单词大写,最后将数据写回文件。
为了实现这一目标,我执行了以下操作:
newGuestList = []
with open("guestList.txt","r+") as guestFile :
guestList = csv.reader(guestFile)
for guest in guestList :
for guestInfo in guest :
capitalisedName = guestInfo.capitalize()
newGuestList.append(capitalisedName)
这给出了输出:
[‘彼得’、‘35’、‘西类牙’、‘卡罗琳’、‘37’、‘法国’、‘克莱尔’、‘32’、‘瑞典’]
问题:
首先;为了将这个新列表写回文件,我需要将其转换为字符串。我可以使用 .join
方法来实现这一点。但是,如何在每三个单词(国家/地区)后引入换行符 \n
,以便每个 guest 在文本文件中都有自己的行?
其次;这种嵌套 for
loops
等的方法看起来非常复杂,有没有更干净的方法?
我的.txt
文件:
彼得,35,西类牙\n
卡罗琳,37,法国\n
克莱尔,32 岁,瑞典\n
最佳答案
您不需要分割行,因为第一个单词的第一个字符是该行的第一个字符:
with open("lst.txt","r") as guestFile :
lines=guestFile.readlines()
newlines=[line.capitalize() for line in lines]
with open("lst.txt","w") as guestFile :
guestFile.writelines(newlines)
关于Python:如何将 .txt 文件的第一列大写。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34710383/