【问题标题】:Selecting multiple specific columns in excel and exporting to CSV using Python在 excel 中选择多个特定列并使用 Python 导出为 CSV
【发布时间】:2016-11-22 15:11:28
【问题描述】:

我正在尝试在大型 Excel 电子表格中提取 3 列并将其导出为 CSV 格式。我有 XLRD,但发现没有可以使用的特定列工具(或者我可能只是忽略了它)。

我的一个示例 excel 电子表格如下所示

Column1        Column2         Column3        Column4         Column5         Column6
1              2               3              4               5               6
1              2               3              4               5               6
1              2               3              4               5               6
1              2               3              4               5               6
1              2               3              4               5               6
1              2               3              4               5               6
1              2               3              4               5               6
1              2               3              4               5               6        

我希望仅将 Column2、Column5 和 Column6 放入 CSV。其他列仅供内部使用。 我一直在用python做实验,大致是这样的:

import xlrd
import csv

def excelToCSV():

wb = xlrd.open_workbook('my spreadsheet')
sheet = wb.sheet_by_name('Sheet1')
csvFile = open('output', 'wb')
wr = csv.writer(csvFile, quoting=csv.QUOTE_ALL)

for rownum in xrange(sheet.nrows):
    wr.writerow(sheet.row_values(rownum))
    print (sheet.row_values(rownum,3))

最后一部分是事情有些分崩离析的地方,我现在只打印 column4 及以后的内容,而我希望能够选择某些(硬编码)。任何建议将不胜感激。

我还尝试添加类似 (3,4) 的内容,然后只打印 column4。使用这种逻辑,我尝试添加另一条打印线,但结果只是未格式化。

*打印语句不会成为代码的一部分,但它们确实可以帮助我想象会出现什么。我希望这不是坏习惯。

【问题讨论】:

    标签: python excel csv python-2.x


    【解决方案1】:

    以导出第二列和第三列为例

    ...    
    for rownum in xrange(sheet.nrows):
            wr.writerow([sheet.cell(rownum, 1).value, 
                         sheet.cell(rownum, 2).value])  
    

    【讨论】:

    • 这正是我需要的!如果问的不多,您能否解释一下使用“cell”的确切行是什么?
    猜你喜欢
    • 2017-04-28
    • 2021-03-04
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多