我希望每行中有两个逗号

2024-09-29 05:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望每行中有两个逗号。我的示例data.txt如下所示:

"",ID SURNAME NAME,1st Midterm
1,9002131225 name1 surname1,90
2,9034623973 name2 surname2,80
3,9082135314 name3 surname3,50

示例output.txt

9002131225 name1 surname1
9034623973 name2 surname2
9082135314 name3 surname3

在python中如何实现这一点?谢谢


Tags: nametxtid示例outputdatasurname逗号
3条回答

阅读循环和字符串操作,这些是Python的基础知识

for loopsplit()的组合可以执行以下操作:

with open('data.txt') as f:
    for line in f:
       print(s.split(",")[1])

当你陷入困境时,你应该尝试编写代码并寻求反馈

您可以在python3中使用split(','),而无需使用任何库:

string = "1,9002131225 name1 surname1,90"
data = string.split(',')
print(data[1])

输出:

9002131225 name1 surname1

示例中所示的数据格式是csv,其值ID SURNAME NAME属于一列。如果你同意对熊猫的额外依赖,那么你可以:

import pandas as pd
pd.read_csv("data.txt")['ID SURNAME NAME'].to_csv(
    "output.txt", index=False, header=None)

或者仅仅使用字符串操作

with open("data.txt") as fp:
  txt = fp.read()

with open('output.txt', 'w') as f:
  _ = [f.write(x.split(",")[1]+"\n") for x in txt.split("\n")[1:]]

相关问题 更多 >