【问题标题】:Appending data when writing from excel sheet to txt document从excel表写入txt文档时附加数据
【发布时间】:2016-10-29 19:18:45
【问题描述】:

有一个名为:file.txt 的文本文档,上面已经有文本。

当我浏览 excel 表并写入文本文件时,它会擦除​​上面的原始文本。

如何在保留原始文本信息的同时仅附加 Excel 工作表中的信息?

代码

import xlwt
import xlrd
import csv

workbook = xlrd.open_workbook('input.xls')
sheet = workbook.sheet_by_index(2)

data = []
data.append([sheet.cell_value(row, 0).strip() for row in range(sheet.nrows)])
data.append([sheet.cell_value(row, 1).strip() for row in range(sheet.nrows)])

workbook = xlwt.Workbook()
sheet = workbook.add_sheet('test')

for colidx, col in enumerate(data):
    for rowidx, row in enumerate(col):
        sheet.write(rowidx, colidx, row)    

transposed = zip(*data)
with open('file.txt','wb') as fou:
    writer = csv.writer(fou)
    for row in transposed:
        writer.writerow(row)

【问题讨论】:

    标签: excel python-2.7 csv xlrd xlwt


    【解决方案1】:

    如果我理解正确,您想将ab 作为标志传递给open()

    transposed = zip(*data)
    #                     v
    with open('file.txt','ab') as fou:
        writer = csv.writer(fou)
        for row in transposed:
            writer.writerow(row)
    

    【讨论】:

    • 干杯,伙计。祝您编码愉快。
    • 我如何从该 file.txt 中删除所有空格并将其保存为同一个文件。例如,如果你运行这个: input = open('file.txt', 'rb') output = open('files.txt', 'wb') writer = csv.writer(output) for row in csv.reader( input): if any(field.strip() for field in row): writer.writerow(row) input.close() output.close() 你必须将它保存为不同的文档
    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多