python中breakpoint什么意思_Python 操作 csv,这种情况这么打断点判断错在哪里?

需求:

从某个 csv 表格提取需要的数据,写入 xlsx

如果第 11 列的单元格包含“xxx”字段,则删除该行

开始的时候,我是这样:

dir = (r'C:\\Users\\ShuoHui\\Desktop\\data\\')

workbook = open(dir + 'filename.csv')

workbookReader = csv.reader(workbook)

workbookData = list(workbookReader)

nRows = workbookReader.line_num

rowsNum = 1 # 行号

for rowsNum in range(1, nRows):

if workbookData[rowsNum][10] != 'xxx':

outsheet.write(rowsNum, 0, workbookData[rowsNum][4])

outsheet.write(rowsNum, 1, workbookData[rowsNum][10])

outsheet.write(rowsNum, 4, workbookData[rowsNum][9])

outsheet.write(rowsNum, 5, workbookData[rowsNum][2])

outsheet.write(rowsNum, 9, workbookData[rowsNum][0])

else:

continue

outworkbook.save(dir + "out\\filename.xlsx")

上面这种情况,可以输出想要的,但是会有空白行,于是我想说,加入一个 i 控制写入时候的行号,就是这样:

dir = (r'C:\\Users\\ShuoHui\\Desktop\\data\\')

workbook = open(dir + 'filename.csv')

workbookReader = csv.reader(workbook)

workbookData = list(workbookReader)

nRows = workbookReader.line_num

rowsNum = 1 # 行号

for rowsNum in range(1, nRows):

i = 1 #从第 2 行开始写入

if workbookData[rowsNum][10] != 'xxx':

outsheet.write(i, 0, workbookData[rowsNum][4])

outsheet.write(i, 1, workbookData[rowsNum][10])

outsheet.write(i, 4, workbookData[rowsNum][9])

outsheet.write(i, 5, workbookData[rowsNum][2])

outsheet.write(i, 9, workbookData[rowsNum][0])

i += 1

else:

continue

outworkbook.save(dir + "out\\filename.xlsx")

但是这样子,只会输出最后一行有效数据。

问题 1:以后我遇到这样循环的问题,怎么打断点排错(pycharm)

问题 2:我这个问题出在哪里。。。

ps:

*** 小弟基础不好 ***,请各位大神不吝赐教,感谢大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值