当前位置: 首页 > 知识库问答 >
问题:

Python 2.7如何将结果写入xlsx文件[复制]

耿弘阔
2023-03-14

我有一些读物:

ATCAAGTCCGTAGTACGGGAATGCAAAAAAAA GGGCTAGTAGGATTGGCCTAGTCACTAGGGGGG TAGCTAGGTAGGATGCCTAGTCAGCGG

...

...

现在,我想将每个读取和写入文件左侧的12个碱基剪切:

f2 = open("./read1.csv","w")
with open('../001.fastq') as reader:
     for index, line in enumerate(reader):
         if index % 4 == 1:
             f2.write(line[:12]+'\n')
f2.close()

我想知道如何编写xlsx文件

共有2个答案

柳联
2023-03-14

假设你在视窗系统上安装了Excel。有多个库可以从python中使用Excel。我只使用了win32com.client,但我对它很满意。我想默认情况下它带有蟒蛇,但如果没有,你可以从这里下载:https://github.com/mhammond/pywin32/releases(别忘了选择合适的版本/架构)。以下是最重要功能的迷你参考:

from win32com.client import Dispatch  # import the necessary library

xlApp = Dispatch("Excel.Application") # starts excel
xlApp.Visible = False                 # hides window (this makes things a bit faster)
xlBook = xlApp.Workbooks.Open( fullPathToXlsx ) # opens an existing workbook

xlSheet = xlBook.Sheets(3)            # which sheet you want to use, indexing starts from 1!
print [sheet.Name for sheet in xlBook.Sheets] # if it is not the one you want you can see their order this way
xlSheet = xlBook.Sheets(sheetName)    # or you can use its name

xlSheet.Cells(row, col).Value = newValue # newValue is what you want to assign to the cell, row and col indexing starts from 1

xlApp.DisplayAlerts = False           # turns off any affirmation popup
xlBook.Save()                         # saving workbook
xlBook.SaveAs(newFullPath)            # saving as...

xlBook.Close()                        # close workbook
xlApp.Quit()                          # exit application

您可能需要在列/行索引和字母表示之间进行转换(我指的是左上角单元格的'A1'等等)。以下是我用过的:

def cellStringToNum(aStr):
    """
    returns an excel sheet cell reference as numbers in a list as [col, row]
    """
    import string

    colS = ""
    for i in xrange(len(aStr)):
        if aStr[i] in string.ascii_uppercase:
            colS += aStr[i]
        else:
            row = int(aStr[i:])
            break
    col = 0
    for i in xrange(len(colS)):
        col += (string.ascii_uppercase.find(colS[len(colS)-1-i])+1)*(26**i)
    return [col, row]

def cellNumToString(col, row):
    import string

    colS = string.ascii_uppercase[col % 26 - 1]
    if col % 26 == 0:
        col -= 26
    else:
        col -= col % 26
    while col != 0:
        col /= 26
        colS = string.ascii_uppercase[col % 26 - 1] + colS
        if col % 26 == 0:
            col -= 26
        else:
            col -= col % 26
    return colS+str(row)

编辑

但是这个问题已经在这里得到了回答:Python-写入Excel电子表格

白嘉志
2023-03-14

每个读取有4行

@

ATCAAGTCCGTAGTACGGGAATGCAAAAAA

JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ

@

GGGGCTAGGTAGGGATTGCCTAGTCAACTGGGGGGG

JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ

@

TAGCTAGGTAGGGATTGCCTAGTCAACTGGCCCGG

JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ

对于这个例子,输出是:

ATCAAAGTCCCG

GGGCTAGGTAGG

TAGCTAGGTAGG

 类似资料:
  • 问题内容: 我有一个问题-如何将结果/数据库选择写入JTextArea。我的JButton的方法是: 如果使用 -在控制台中看到输出,但是如何将Text设置为JTextArea? 问题答案: 请参阅文档。

  • 有Java开发人员的库,有大量的方法在Android上不起作用。 我开始使用像OpenCSV这样的库,但不幸的是,Excel已经知道了打开CSV文件的问题。 然后我试着用: ApachePOI——它的方法肯定太多了 JExcelAPI——它可以工作,但只在旧的二进制文件上工作。xls文件 docx4j——还是太多JAR了,因为它基于JAXB,而Android中不包括JAXB 我的问题是,如何在中创

  • 问题内容: 有写Excel 2007+文件的Python模块吗? 我对编写长度超过65535行的文件感兴趣,只有Excel 2007+支持它。 问题答案: 您可以查看两个库。 Python-xlsx和 PyXLSX 编辑:正如评论所提到的,编写时请检查openpyxl

  • 问题内容: 我在Python中列出了一些值,并希望使用openpyxl将它们写入Excel电子表格。 到目前为止,我已经尝试过,其中lstStat是需要写入Excel文件的整数列表: 我收到TypeError:代码段的最后一行无法调用’NoneType’对象。 您能帮我怎样将数据写入Excel文件吗? 干杯托马斯 问题答案: 要将值分配给单元格,请使用: 您还需要修复循环。注意,现在,对于其中的

  • 问题内容: 将结构转储到提供的csv文件中的惯用golang方法是什么?我在一个func里面,我的结构作为接口{}传递: 为什么要使用界面{}?-从JSON读取数据,可能会返回一些不同的结构,因此尝试编写足够通用的函数。 我的类型的一个例子: 问题答案: 如果您使用具体类型,将会容易得多。您可能想要使用该软件包,这是一个相关示例;https://golang.org/pkg/encoding/cs

  • 我在将过滤后的数据写入文件时遇到了一个问题。在本地文件系统中创建了大约27个文件,但没有输出。 下面是使用的代码: 我把文件当做数据帧来读 val in_df=火花。阅读csv(“file:///home/Desktop/Project/inputdata.csv“”)。选择EXPR(“_c0作为Id”,“_c1作为名称”,“_c2作为部门”) 然后将此数据帧注册为临时表 in_df.regist