0

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

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

我需要在period < 1403 or period > 1403.

所以这就是我想做的事情:

  1. 打开上面的xlsx文件
  2. 循环遍历所有列和行
  3. 将行复制 period < 1403 or period > 1403到新的 xlsxfile
  4. 关闭两个 xlsx 文件

我正在使用 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()

请问有什么想法吗?

4

1 回答 1

0

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

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

于 2014-07-24T08:42:31.597 回答