使用Python从xlsx文件中删除行

时间:2014-07-24 08:20:22

标签: python excel xlsxwriter

我有一个包含许多列的xlsx文件,但是对于这个例子,我只用两列来描述它:

period | value
--------------
1402   | AB
1402   | ABxx
1403   | AC
1403   | ACxx
1404   | MM
1404   | MMXX

我需要剪切period < 1403 or period > 1403的行。

所以这就是我想要的方式:

  1. 打开上面的xlsx文件
  2. 遍历所有列&amp;行
  3. period < 1403 or period > 1403的行复制到新的xlsxfile
  4. 关闭两个xlsx文件
  5. 我正在使用xlsxwriter,这就是我设法从字典创建第一个xlsx文件的方式。

    def saveDataToNewFile(filename,sheetName, data) :
        # Create workbook
        wb = xlsxwriter.Workbook(filename)
        ws = wb.add_worksheet(sheetName)
        # Write header
        headers = data[0].keys()
        for column, header in enumerate(headers):
            ws.write(0, column, header)
        date_format = wb.add_format({'num_format': 'dd/mm/yyyy'})
        # Write data
        for row, row_data in enumerate(data, start=1):
            for column, key in enumerate(headers):
                ws.write(row, column, row_data[key],date_format)
        wb.close()
    

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

写入新xlsx文件的代码看起来是正确的。所以你需要做的就是从原始文件中获取你需要写入的数据。

我建议您使用xlrd读取数据并跳过任何与您的条件不符的数据。