需求:
开始的时候,我是这样:
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: *** 小弟基础不好 ***,请各位大神不吝赐教,感谢大家。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.