【问题标题】:How to correctly replace data in text files based on input如何根据输入正确替换文本文件中的数据
【发布时间】:2023-04-06 15:21:01
【问题描述】:

我有以下问题。我试图根据输入的性别替换名称。如果有人可以帮助改进我的代码,将不胜感激。

文本文件(duedate.txt):

用户:汤米

性别:男

截止日期:2020-02-18

我目前的代码是:

with open f = ('duedate.txt).read()
    z = input("Please select gender to change) 
    zz = input("Please select new name")
    if z == 'female' 
       line.startswith('User'): 
       field, value = line.split(:) 
       value = zz
       print (zz) 

我知道代码不是 100% 正确,但如果选择 Jessica 作为名称,输出应该是:

用户:杰西卡

性别:女性

截止日期:2020-02-18

【问题讨论】:

    标签: python external-data-source


    【解决方案1】:

    这应该有效。 cmets中给出了代码解释:

    
    import pandas as pd
    import numpy as np
    
    # Read the text file into a dataframe
    df = pd.read_csv('duedate.txt', sep = "\n",header=None)
    
    # Do dataframe manipulations
    df[['Variable','Value']] = df[0].str.split(':',expand=True)
    del df[0]
    
    # Collect inputs from user:
    z = input("Please select gender to change")
    zz = input("Please select new name")
    
    # modify dataframe based on user inputs
    df.loc[0,"Value"]=zz
    df.loc[1,"Value"]=z
    
    #Construct output column
    df["Output"] = df["Variable"] + ": " + df["Value"] + "\n"
    
    # Save the file back to disk
    np.savetxt(r'duedate.txt', df["Output"].values,fmt='%s')
    

    【讨论】:

    • 谢谢大家的建议!只要我回到我的电脑,我就会给他们一个机会。谢谢@alec,谢谢@Karthick
    • 嘿@Karthick。我能问你一个简单的问题吗...我已经准确地输入了代码,但我收到一个错误消息:没有名为“pandas”的模块
    • @NoobDev88 您必须在 python 环境中使用 pip 命令安装 pandas 包,如“pip install pandas”。您可以在此处参考文档:pypi.org/project/pandas
    • 非常感谢@Karthic,它运行良好……再问一个问题。如果我有多个用户并且一行将两者分开。它在两行之间留下“nan”......知道如何删除它吗?
    • @NoobDev88 您能否重新编辑问题以显示输入样本?
    猜你喜欢
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    相关资源
    最近更新 更多