删除/删除列表中的空白项目,并使用excel文件中的模式打印这些值

问题描述 投票:0回答:1

基本上我有这些(样本)的'字符串'列表'非'整数'的数据:

[0]  
[1]  
[2]  
[3]  
[4]  
[5]  
[6]  47
[7]  49
[8]  51
[9]  53
[10]  55
[11]  57
[12]  59
[13]  61
[14]  63
[15]  65

在这种情况下,我无法修改数据,只删除从索引0-5看到的白色/空白空间。我已经研究了很多,我知道字符串是不可变的,我无法想出一个解决方案。我也将这些输出传输到Excel文件。这些白色/空白空间影响我将这些空间传输到excel文件,因为它将空白区域识别为字符串,该字符串使用空白值填充前6个单元格。

Sample result from Excel file

此外,我在创建模式以填充以下格式的数据时遇到困难:

Supposed to be pattern of data in Excel

我正在使用openpyxl,我已经使用循环实现了按列填充它们:

File_path = 'somepath'
Excel_file = openpyxl.load_workbook(File_path)
Sheet = excel_file.get_sheet_by_name('Sheet1')

col = 1
for data in Sample_list:
   Sheet.cell(row = 1, column = col).value = data
   col+=1

   if col == 16:
      Excel_file.save(File_path)
      break

先感谢您

python string openpyxl
1个回答
1
投票

在你的循环中,你可以使用isspace来检查元素是否只是空格(甚至是标签和换行符),然后在excel中更新它:

# This will fill rows 1 and 3 but you can change that as per your use case
count = 0
for data in Sample_list:
    if not data or data.isspace():
        continue
    Sheet.cell(row = 1 if count % 2 == 0 else 3, column = col).value = data
    col+=count % 2 # Column only increments when count is odd
    count+=1

或者您可以事先从列表中删除所有空格字符串:

Sample_list = [elem for elem in Sample_list if not elem.isspace()]
© www.soinside.com 2019 - 2024. All rights reserved.