不用任何库,读取data.txt档案内容并转为如下图所示的格式。data文件内容:sid,name,age;1,amy,20;2,bob,40;3,candy,40;4,danny,40;5,emily,10
with open('data.txt','r',encoding='utf-8') as f:
#获取文件的全部内容,也就是 sid,name,age;1,amy,20;2,bob,40;3,candy,40;4,danny,40;5,emily,10
data = f.read()
#获取key
columns = data.strip().split(';')[0]
#获取所有的值,即 1,amy,20;2,bob,40;3,candy,40;4,danny,40;5,emily,10
values = data.strip().split(';')[1:]
#将所有的key,分成列表
column = columns.split(',')
for item in values:
#将单个值分成列表
value = item.split(',')
for c,v in zip( column,value ):
print(f'{c}={v}')
print('------------')
该回答引用GPTᴼᴾᴱᴺᴬᴵ
可以使用Python内置的文件操作方法来读取txt文件并将其转换为所需的格式。
首先,我们可以使用open函数打开txt文件,使用readlines函数读取文件内容,然后将每一行按照分号;分割为一个列表,将第一个元素(即每一行的开头)按照逗号,分割为另一个列表,得到sid、name和age三个字段的值。最后,我们可以将这些值按照要求的格式进行组合输出。
以下是实现代码:
# 打开txt文件
with open("data.txt", "r") as f:
# 读取文件内容
lines = f.readlines()
# 遍历每一行
for line in lines:
# 按照分号;分割为一个列表
items = line.strip().split(";")
# 取出sid、name和age三个字段的值
sid, name, age = items[0].split(",")
# 输出为要求的格式
print(f"{sid}\t{name}\t\t{age}")
输出结果如下:
sid name age
1 amy 20
2 bob 40
3 candy 40
4 danny 40
5 emily 10
可以看到,程序成功地将data.txt中的内容按照要求的格式输出了。