python - 如何在 Python 3 代码中重写我的追加行?
问题描述
我的代码
token = open('out.txt','r')
linestoken=token.readlines()
tokens_column_number = 1
r=[]
for x in linestoken:
r.append(x.split()[tokens_column_number])
token.close()
print (r)
输出
'"tick2/tick_calculated_2_2020-05-27T11-59-06.json.gz",'
期望的输出
"tick2/tick_calculated_2_2020-05-27T11-59-06.json.gz"
如何摆脱''
和,
?
解决方案
很高兴看到您的输入数据。我创建了一个与您的相似的输入文件(我希望如此)。
我的测试文件内容:
example1 "tick2/tick_calculated_2_2020-05-27T11-59-06.json.gz", aaaa
example2 "tick2/tick_calculated_2_2020-05-27T11-59-07.json.gz", bbbb
您应该替换"
, ',' 字符。
您可以使用replace
(https://docs.python.org/3/library/stdtypes.html#str.replace):
r.append(x.split()[tokens_column_number].replace('"', "").replace(",", ""))
您可以使用strip
(https://docs.python.org/2/library/string.html#string.strip):
r.append(x.split()[tokens_column_number].strip('",'))
您可以使用re.sub
(https://docs.python.org/3/library/re.html#re.sub):
import re
...
...
for x in linestoken:
x = re.sub('[",]', "", x.split()[tokens_column_number])
r.append(x)
...
...
两种情况下的输出:
>>> python3 test.py
['tick2/tick_calculated_2_2020-05-27T11-59-06.json.gz', 'tick2/tick_calculated_2_2020-05-27T11-59-07.json.gz']
正如您在上面看到的输出 ( r
) 是一种list
类型,但如果您想将结果作为字符串获取,您应该使用join
( https://docs.python.org/3/library/stdtypes.html#str.join)。
输出print(",".join(r))
:
>>> python3 test.py
tick2/tick_calculated_2_2020-05-27T11-59-06.json.gz,tick2/tick_calculated_2_2020-05-27T11-59-07.json.gz
输出print("\n".join(r))
:
>>> python3 test.py
tick2/tick_calculated_2_2020-05-27T11-59-06.json.gz
tick2/tick_calculated_2_2020-05-27T11-59-07.json.gz
推荐阅读
- c++ - 从嵌套类访问私有变量到封闭类中的私有方法
- powershell - PowerShell:从 Visual Studio Code 运行脚本有效,从 PS 命令行运行失败
- dynamic - Power BI 是否有一个选项可以通过更新数据来更新图表
- java - mmap.setonMarkerDragListener 使我的应用程序崩溃
- reactjs - 在 React JS 渲染中放置条件 div 标签
- swift - 精灵不会移动或从墙上反弹
- html - 使用 jQuery 确定字段是否已自动填充
- r - R将行日期转换为列日
- visual-studio-code - 如何在vscode中隐藏垂直线
- javascript - 将 React 与 Bootstrap 一起使用,我想开始一行拉四个数据集,将它们放入 col 然后用下一个 4 开始一个新行