python - Python追加到列表中的同一行
问题描述
我编写了一段代码,用于搜索文本文件的目录,并根据我编写的 if 条件,复制、存储和写入新文件。我正在努力解决的问题是,当不同的 if 条件附加到同一个空列表时,它将第二个“if 条件”的输出存储为一个新的元素数组。但是,我希望将多个 if 条件的输出存储在同一行中。更具体地说,这里是我的代码如何在文本文件中存储和写入。
import matplotlib.pyplot as plt
import numpy as np
import math
from scipy.optimize import curve_fit
from IPython import embed
import os
File = 'results.txt'
ospath = os.walk('/Users/analyses/')
mylist=[]
for subdir, dirs, files in ospath:
if File in files:
filepath = subdir + '/' + File
with open(filepath) as fp:
for line in fp:
line_list = []
if "Bckgnd subtracted source c/r" in line:
line_array = line.split(" ")
mylist.extend((line_array[5],line_array[7].rstrip("\n")))
elif "Bckgnd subtracted source cnts" in line:
line_array = line.split(" ")
mylist.extend((line_array[5],line_array[7].rstrip("\n")))
mylist.append(line_list)
mylist = np.asarray(mylist)
with open("mylist.txt", "w") as txt_file:
for line in mylist:
txt_file.write('\n'.join(','.join(elems) for elems in mylist))
输出 :
11.3,4.8
id_06,BANANA
9.3,5.6
id_01,APPLE
8.7, 23.8
id_08, ORANGE
mylist[0] = [11.3,4.8] #comes from first if condition
mylist[1] = [id_06,BANANA] #comes from second if condition
我想要的方式:
11.3,4.8,id_06,BANANA
9.3,5.6,id_01,APPLE
8.7, 23.8, id_08, ORANGE
在哪里mylist[0] = [11.3,4.8,id_06,BANANA]
解决方案
不完全确定它是否适合您的问题。但您可以尝试以下方法:
mylist = []
with open(filepath) as fp:
for line in fp:
line_list = []
if "condition1" in line:
line_array = line.split(" ")
line_list.extend([line_array[5],line_array[7].rstrip("\n")])
if "condition2" in line:
line_array = line.split(" ")
line_list.extend((line_array[5],line_array[7].rstrip("\n")))
mylist.append(line_list)
mylist = np.asarray(mylist)
这使用每行单独的列表,该列表被扩展以产生单个列表而不是列表列表,因为它会在附加数据时发生。每一行的列表都会被清除。这可能不是禁食或最优雅的方法,但它应该可以解决您的问题。
推荐阅读
- azure - 在 Azure 数据工厂中更新 Azure 表存储字段
- python - Python:如何在 ttk.Checkbutton 处于活动状态时更改它的边框颜色?
- angular - Angular Material:将 sidenav 添加到几页?
- java - 将数据库中的字符串与 Android Studio 中的字符串进行比较
- android - SurfaceView 中的“资源”在哪里定义,如何从不同的类访问它?
- rascal - 从树中移除(删除)节点
- snowflake-cloud-data-platform - JSON to Relational Table 是否可以将条件插入到我的 2 列表的现有列中
- python - AttributeError:'NoneType' 对象在 owlready 库中没有属性 'some'
- azure-cosmosdb - 将 HTML 下拉列表连接到 Cosmos DB
- domain-driven-design - 在 CQRS 中的域事件处理程序中创建命令