- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从文本文件收集数据。当我打印输出时,它们返回我正在寻找的正确值,但是,当我尝试使用 xlsxwriter 将这些输出放入表中时,该表仅包含 txt 文件最后一行的输出重复的数量文本文件中存在行的次数。即有 5000 行文本,我需要从中获取 3 条信息,.xlsx 文件有 5000 行和 3 列,但都包含文本文件中最后一行的信息。
EC:1 > GO:N-乙基马来酰亚胺还原 enzyme active ; GO:0008748
EC:1 > GO:氧化还原 enzyme active ; GO:0016491
EC:1 > GO:还原型(prototype)辅 enzyme F420 脱氢 enzyme active ; GO:0043738
EC:1 > GO:硫加氧 enzyme 还原 enzyme active ; GO:0043826
EC:1 > GO:苹果酸乳酸 enzyme active ; GO:0043883
^txt 文件是什么样的
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
6.6.1.2钴螯合 enzyme active 0051116
…………
(表格的外观,但只有 5000 行)
如有任何帮助,我们将不胜感激,问候
import xlsxwriter
File = 'EC_to_GO.txt'
def analysis(line, output):
with open(File) as fp:
lines = fp.readlines()
for line in lines:
output[0] = line[3:].split(' > ')[0]
output[1] = line[:-14].split(' > GO:')[-1]
output[2] = line[-8:]
return output
with open(File) as fp:
lines = fp.readlines()
for line in lines:
if 'Generated on 2018-07-04T09:08Z' in line:
a = lines.index(line)
for line in lines:
if 'GO:cobaltochelatase activity ; GO:0051116' in line:
b = lines.index(line)
req_list = lines[a:b]
rxn_end_index = []
for i in range(len(req_list)):
if '> GO:' in req_list[i]:
rxn_end_index.append(i)
inner_list = []
outer_list =[]
spare = [0] + rxn_end_index
for i in range(len(spare)-1):
inner_list = req_list[spare[i]:spare[i+1]]
outer_list.append(inner_list)
res_list=[]
for i in range(len(outer_list)):
res_list.append(analysis(outer_list[i],['NA','NA','NA']))
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('EC_to_GO.xlsx')
worksheet = workbook.add_worksheet('EC_to_GO')
#res_list1 = [EC, Genome name, GO]
#for i in res_list:
#res_list1.append(i)
# Some data we want to write to the worksheet.
t = tuple(res_list)
# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0
# Iterate over the data and write it out row by row.
for a,b,c in (t):
worksheet.write(row, col, a)
worksheet.write(row, col + 1, b)
worksheet.write(row, col + 2, c)
row += 1
workbook.close()
最佳答案
您基本上将相同的列表附加到 res_list
中。因此,您有同一个输出
列表的多个副本。
修复:而不是
res_list.append(analysis(outer_list[i],['NA','NA','NA']))
#And in the previous loop
for i in range(len(spare)-1):
inner_list = req_list[spare[i]:spare[i+1]]
outer_list.append(inner_list)
将其更改为:
res_list.append(analysis(outer_list[i],['NA','NA','NA'])[:])
for i in range(len(spare)-1):
inner_list = req_list[spare[i]:spare[i+1]]
outer_list.append(inner_list[:])
或者
res_list.append(copy(analysis(outer_list[i],['NA','NA','NA'])))
for i in range(len(spare)-1):
inner_list = req_list[spare[i]:spare[i+1]]
outer_list.append(copy(inner_list))
符号 list[:] 创建列表的副本。从技术上讲,您正在创建整个列表的一部分。
关于python - 返回的输出未进入 xlsxwriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51308602/
对于相同的输入,是否可以使用 XlsxWriter 使输出二进制文件相同? 我尝试将 created 属性更改为同一日期,这有点帮助。 sharedStrings.xml 中仍然存在很多差异。 谢谢
我正在尝试创建带有趋势线的条形图。我可以在 excel 中执行此操作,并希望使该过程自动化。 xlswriter 非常易于使用,我已经复制了条形图它只是趋势线对我不起作用。它似乎在行中添加了 2 个元
例如,我有 Jan、Feb 和 Mar 的 3 个数据元素(例如 49、23、40),它们都属于同一个系列 1。当我将它们绘制在条形图中时,它们只能是在 XlsxWriter 中用相同的颜色填充。我该
我试过在 MacOS 上安装 xlsxwriter 我试过: pip install xlsxwriter easy_install xlsxwriter python -m easy_install
我有一个来自 Pandas 数据框的 Excel 工作表。然后我使用 Xlsxwriter 添加公式、新列和格式。问题是我似乎只能格式化我使用 xlsxwriter 编写的内容,而不能格式化来自数据框
在 Python 包 xlsxwriter 中,是否可以将散点图系列的一部分格式化为与另一部分不同的格式?例如,一个散点图,其中特定系列的线的某些部分是蓝色的,而同一线的其他部分是红色的。通过修改特定
我通过调用创建了一个图表 worksheet.insert_chart(chart_row, chart, {'x_scale': 2, 'y_scale': 1}) 它是一种堆叠类型。 我想让图表水
我正在尝试让 xlsxwriter 将 =BDP 公式放入单元格中,但是当我尝试打开 excel 输出并且结果为 0.0 时会导致错误 有谁知道如何解决这一问题?谢谢! sheet.write_for
我编写了一个 python 代码来使用 xlsxwriter 从 csv 文件生成一个 excel 文件。 但输出不是我想要的。我的数据之间有空行: 我不知道是什么让我的代码发生这种情况。我想像这样删
我有一个创建 Excel 文件的 python 脚本。 定义 :Osisoft-function 是输入到 Excel 单元格以从 Osisoft 服务器获取数据的函数(在 Excel 中安装了 PI
我正在使用 pandas concat 将几个数据框(表格)合并到一个 excel 文档中。 我使用 Xlsxwriter 输出 excel。 我的问题是,在下面的代码中,我使用 worksheet.
我试图弄清楚如何让 XlsxWriter 循环遍历工作表并根据每个单元格值用特定图像添加/替换单元格值(例如,单元格值为 1 添加 pic1.jpg,单元格值为 2 添加 pic2.jpg,等等 我的
是否有任何选项可以使用 xlsxwriter 在 Excel 中添加粗边框? 我正在使用条件格式在范围之间编写边界。 在我的情况下,添加表不起作用。 最佳答案 Is there any option
使用 Xlsx 编写器,我想编写将遵守操作系统区域/语言设置设置的区域设置格式的日期。例如,加拿大的操作系统设置的默认格式是“yyyy-mm-dd”,而在德国,它是“dd.mm.yy”。如何使日期响应
我在这里看到很多页面都设置了整列宽度的格式,但是有没有办法设置单个单元格宽度的格式?我的问题是我正在创建一个或多或少具有“标题”的工作表,其中每列的长度不同,因为它们已被合并以包含唯一信息。此部分下方
我正在使用 xlsxwriter python 模块。 我正在尝试使用.write_formula()函数将公式写入单元格,检查不同工作表中单元格内容是否存在: worksheet.write_for
我是 Python 新手,我正在尝试使用这个简单的代码,一切正常,但序列不会重复。请帮助我。 this is the excel output import xlsxwriter workbook =
我想在 excel 中上传分组条形图,但我似乎找不到这样做的方法。 这是我的代码: bar_chart2 = workbook.add_chart({'type':'column'}) bar_cha
我正在尝试从文本文件收集数据。当我打印输出时,它们返回我正在寻找的正确值,但是,当我尝试使用 xlsxwriter 将这些输出放入表中时,该表仅包含 txt 文件最后一行的输出重复的数量文本文件中存在
有时我尝试保存 xlsx 工作簿,但文件已打开。我之前做了很多处理,所以如果像打开工作表这样简单的事情导致文件保存失败,我必须再次运行整个脚本。 想做这样的事情,但它似乎没有保存新文件,即使我关闭旧文
我是一名优秀的程序员,十分优秀!