python - Python:替换txt文件中的字符串,但不是每次出现
问题描述
我对python真的很陌生,我需要将新的artikel Ids更改为旧的。Id 映射在一个字典中。我需要编辑的文件是一个普通的 txt,其中每一列都由 Tabs 分隔。问题不在于替换值,而只是替换由 pos 设置的所需列中的出现。
我真的很感激一些帮助。
def replaceArtCol(filename, pos):
with open(filename) as input_file, open('test.txt','w') as output_file:
for each_line in input_file:
val = each_line.split("\t")[pos]
for row in artikel_ID:
if each_line[pos] == pos
line = each_line.replace(val, artikel_ID[val])
output_file.write(line)`
此代码仅替换文本文件中出现的任何字符串。
解决方案
如果您的数据是制表符分隔的,那么您必须将此数据加载到数据框中.. 这样您就可以拥有列和行结构.. 如果没有一些复杂和错误的逻辑,您现在正在做的事情将不允许您做您想做的事情. 你可以试试这些步骤
import pandas as pd
df = pd.read_csv("dummy.txt", sep="\t", encoding="latin-1")
df['desired_column_name'] = df['desired_column_name'].replace({"value_to_be_changed": "newvalue"})
print(df.head())
推荐阅读
- maven - 当我尝试编译与包含单个代理的 ESB 项目相关的 .car 应用程序时,为什么会出现此 Maven 错误?
- algorithm - 寻找光线投射到“特殊”胶囊的算法
- msys2 - MSYS2 中午夜指挥官的鼠标支持
- c# - 如何使用 NEST for ElasticSearch lib 使用属性指定索引名称?
- c# - 在 C# 测试期间卡在保存文件目录中
- ionic-framework - Ionic Fab,关闭工厂的十字图标丢失
- tensorflow - 如何通过带有 tensorflow 服务的 restful API 推断 inception pb 模型?
- python - 当 DateTimeField 等于当前日期和时间时 Django 执行函数
- c# - 如何更新 .resx 文件中的值?
- python - 如何使用 python 解析 {0x33,0x00,0x56,0x08,0x22,0x11} 中的值