我有一个文本文件,如下所示:
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)
答案 0 :(得分:0)
试试这个:
a1 = []
with open('project.txt') as f:
for line in f:
before, sep, after = line.partition(',')
a1.append(after)
print (a1)
答案 1 :(得分:0)
试试这个: 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)
答案 2 :(得分:0)
试试这个, 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...
答案 3 :(得分:0)
你开始很好。你的代码:
a1 = []
with open('project.txt') as f:
for line in f:
a1.append(line)
print(a1)
可以演变为split
行,只获得第二项([1]
):
a1 = []
with open('project.txt') as f:
for line in f:
a1.append(line.split(',')[1])
print(a1)
您现在可以将其转换为数字(考虑它们是整数):
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)
我希望我帮助过你。有任何疑问,请问我。