如何从文本文件中读取值并将其存储在python中的公式中

如何从文本文件中读取值并将其存储在python中的公式中,python,text-files,Python,Text Files,我有一个文本文件,看起来像下面的文本: a,1234 b,34322 c,9439 d,132431 我想写一个代码,只读取逗号后面的数字。例如,在第一行中,代码只需要读取1234 然后,该数字(1234)需要在方程y=10+n中使用,其中n是该数字1234。我想从每一行中读取每一个数字,并将结果提供给我,然后将这些结果输入到图表中,图表也需要在同一个程序中编码并保存为图像 我不知道如何处理这个问题。我所做的只是键入以下代码,从

我有一个文本文件,看起来像下面的文本:

a,1234                        
b,34322      
c,9439   
d,132431
我想写一个代码,只读取逗号后面的数字。例如,在第一行中,代码只需要读取1234

然后,该数字(1234)需要在方程y=10+n中使用,其中n是该数字1234。我想从每一行中读取每一个数字,并将结果提供给我,然后将这些结果输入到图表中,图表也需要在同一个程序中编码并保存为图像

我不知道如何处理这个问题。我所做的只是键入以下代码,从文本文件中读取这些值并将它们存储在数组中。我不喜欢这样,因为这只是一个数组。我真的需要帮助

a1 = []

with open('project.txt') as f:
    for line in f:
        a1.append(line)
print (a1)
试试这个:

a1 = []

with open('project.txt') as f:
    for line in f:
        before, sep, after = line.partition(',')        
        a1.append(after)
print (a1)
试试这个: a1=[]

with open('project.txt') as f:
    for line in f:
        before, sep, after = line.partition(',')   
        n = after
        y = 10 + n
        a1.append(y)
print (a1)
试试这个, pandas库对于数据集操作非常有用。输出为表格格式,现在更易于打印

import pandas as pd

#read file
data = pd.read_csv('data.txt', sep=",")

#do your calculation
data['y'] = 10 + data['n']
输出

>>> data
  Item       n       y
0    a    1234    1244
1    b   34322   34332
2    c    9439    9449
3    d  132431  132441

#do your plotting below...

你开局不错。您的代码:

a1 = []

with open('project.txt') as f:
    for line in f:
        a1.append(line)
print(a1)
可以演变为拆分行并仅获取第二项(
[1]
):

现在可以将其强制转换为数字(考虑它们是整数):

最后,它可以是一个列表:

with open('project.txt') as f:
    a1 = [int(line.split(',')[1]) for line in f]
print(a1)

我希望我帮助过你。如果有任何疑问,请咨询我。

您可以用逗号分隔这行,然后再转换数字。请进行额外的独立研究。专注于
split()
string方法。它确实消除了逗号和逗号之前的所有内容。现在,我如何使用这些值,将它们输入公式,并在表格中显示这些结果?您是否可以帮助我回答另一个问题:实际上它应该是n=float(后面),因为数字是文本。您可以编辑其他答案,而不是回答两个问题。昨天我刚开始回答这里的几个问题。如果我只想显示和存储第二列中的每个数字,那么如果在代码中的任何地方我想用这个数字进行加法、减法、乘法、除法或其他任何函数,我可以做什么呢。例如:如果我把第一个数字1234加上60,那么我应该可以说出代码中的任何地方;60+p,假设1234被分配给p。我不知道我是否理解您的意思…您希望存储检索到的值以供将来在同一执行中使用…是这样吗?您可以将
a1
设置为模块属性,或者最好将其作为参数传递或从函数返回。因此,您的
p
a1
的一个或每个元素,就像
a1[0]
或a1中p的
一样。按照我的初始代码,当我输入以下代码时,我得到的第二列的格式与文本文件中的格式完全相同,这本身就很好为p+1;print(p)
该列中的所有数字都是四个网球。问题是我得把所有的网球都带在一起。我不想那样。我应该能够挑选出任何我想要的网球,并把它扔到任何我想要的地方。有道理吗?我想我明白了。如果我有任何问题,我会发布回复。
a1 = []

with open('project.txt') as f:
    for line in f:
        a1.append(int(line.split(',')[1]))
print(a1)
with open('project.txt') as f:
    a1 = [int(line.split(',')[1]) for line in f]
print(a1)