新しいPythonコーダーがここにあります。空の値を付けずにセルをループチェックして追加する
データの行を取り除き、空の(またはnull)セルが新しいリストに追加されない新しいデータリストを作成したいと考えています。
chippedlist=[]
for line in stringlist: #for each row of data in datafile
chippedline=[]
inc=0
for cell in line: #for each cell in one row of data
inc+=1
if inc == 13 and len(cell)== 0:
chippedline=[]
break
else:
if cell == cell[0]:
firstcell=cell[1:]
chippedline.append(firstcell)
if cell != cell[0] and cell != cell[-1]:
chippedcell=cell[2:-1]
chippedline.append(chippedcell)
if cell == cell[-1]:
lastcell=cell[:0]
chippedline.append(lastcell)
if len(chippedline) > 0:
chippedlist.append(chippedline)
私はこの記事に私のデータのサンプルを添付しています
は、ここに私のコードです。
最初の行からは、列 'N'(Excelファイル内)に空のセルがあります。これは、 'inc == 13'を作成したインクリメントPythonで0から始まる)私はインクリメントを作成しました。
したがって、ANY行のANYセルが空の場合(たとえば、行15 & 18、列Zおよび列AA)、新しいデータセットにその行を含めたくありません。しかし、何とか私のforループの最初のif文がうまくいかない。
['17040200555', 'A', 'A60', 'LATEMADA60', 'EMAD ', 'LAT', 'KL', 'KL/E', 'SAI', 'HK', 'HK/E', 'E', 'EMA', '', 'SWH1', 'BHL0', '580', 'PYNEH', '2017-04-02 08:29:10', '2017-04-02 08:29:10', '2017-04-02 08:29:16', '2017-04-02 08:29:16', '2017-04-02 08:29:39', '2017-04-02 08:29:40', '2017-04-02 08:40:53', '2017-04-02 08:57:38', '2017-04-02 09:10:19', '2017-04-02 09:24:33', '1', '703', '3293', '1005', '0', 'N', 'N', 'Y', 'Y', 'Y', 'Y', '', '', '0', '600', '2017-04-01 00:00:00', 'LAT', 'N-OTHERS', 'X600-ROSTER not foun', 'ssign to default 083', '030', '201704', '0800-0829', 'JC20170410P1.5.0', "2017-04-27 16:09:53'"]
['17040200554', 'A', 'A195', 'WONEMADA195', 'EMAD ', 'WON', 'KL', 'KL/E', 'LAI', 'KL', 'KL/W', 'E', 'EMA', '¥þ¨\\xad¥X¯l', 'LCK2', 'CHE0', '185', 'CMC', '2017-04-02 08:28:38', '2017-04-02 08:28:38', '2017-04-02 08:28:48', '2017-04-02 08:28:48', '2017-04-02 08:29:04', '2017-04-02 08:29:05', '2017-04-02 08:31:35', '2017-04-02 08:39:00', '2017-04-02 08:43:17', '2017-04-02 08:57:36', '1', '177', '1711', '445', '0', 'N', 'N', 'Y', 'Y', 'Y', 'Y', '', '', '0', '1135715', '2017-04-01 00:00:00', 'WON', 'D-0730', 'B3-No Roster foun', 'leet group to same depot/OIC:WON TAM TSZ YEUNG X600', '201704', '0800-0829', 'JC20170410P1.5.0', "2017-04-27 16:09:53'"]
['17040200553', 'A', 'A63', 'CASEMASA63', 'EMAS ', 'CAS', 'NT', 'NT/NW', 'CAS', 'NT', 'NT/NW', 'E', 'EMA', 'SLIP', 'CPB2', 'CAS0', '148', 'TMH', '2017-04-02 08:27:56', '2017-04-02 08:27:56', '2017-04-02 08:28:02', '2017-04-02 08:28:02', '2017-04-02 08:28:19', '2017-04-02 08:28:52', '2017-04-02 08:34:58', '2017-04-02 08:58:52', '2017-04-02 09:11:57', '2017-04-02 09:24:59', '1', '422', '3367', '1434', '0', 'N', 'N', 'Y', 'Y', 'Y', 'Y', '', '', '0', '600', '2017-04-01 00:00:00', 'CAS', 'N-OTHERS', 'X600-ROSTER not foun', 'ssign to default 083', '030', '201704', '0800-0829', 'JC20170410P1.5.0', "2017-04-27 16:09:53'"]
['17040200552', 'A', 'A125', 'ALCEMADA125', 'EMAD ', 'ALC', 'HK', 'HK/W', 'ABD', 'HK', 'HK/W', 'E', 'EMA', 'FEVER', 'ALC1', 'ABD0', '495', 'QMH', '2017-04-02 08:27:38', '2017-04-02 08:27:38', '2017-04-02 08:27:47', '2017-04-02 08:27:47', '2017-04-02 08:27:53', '2017-04-02 08:27:54', '2017-04-02 08:36:09', '2017-04-02 08:51:29', '2017-04-02 09:08:26', '2017-04-02 09:22:05', '1', '511', '3251', '920', '0', 'N', 'N', 'Y', 'Y', 'Y', 'Y', '', '', '0', '600', '2017-04-01 00:00:00', 'ALC', 'N-OTHERS', 'X600-ROSTER not foun', 'ssign to default 083', '030', '201704', '0800-0829', 'JC20170410P1.5.0', "2017-04-27 16:09:53'"]
['17040200551', 'A', 'A192', 'POLEMADA192', 'EMAD ', 'POL', 'KL', 'KL/E', 'POL', 'KL', 'KL/E', 'E', 'EMA1', '', 'PLM9', 'POL0', '339', 'UCH', '2017-04-02 08:27:47', '2017-04-02 08:27:47', '2017-04-02 08:27:52', '2017-04-02 08:27:52', '2017-04-02 08:28:35', '2017-04-02 08:28:36', '2017-04-02 08:34:57', '2017-04-02 08:45:18', '2017-04-02 09:05:48', '2017-04-02 09:19:52', '1', '430', '3076', '621', '0', 'N', 'N', 'Y', 'Y', 'N', 'Y', '', '', '1136057', '1136057', '2017-04-01 00:00:00', 'POL', 'N-2030', 'A1-Roster found', '201704', '0800-0829', 'JC20170410P1.5.0', "2017-04-27 16:09:53'"]
追加情報:私は私の元を読み取るためにcsv.readerを使用
次の出力に示すよう
しかし、それはまだ新しいデータセットへの本の空のセルを含む行を追加しますファイルをPythonに変換します。
- オリジナルファイルは.csvファイル
- である私は
- '"= ''、区切り= ''、 quotechar =' 改行を使用し、私はその後 のリストに.csvファイルを変換します.splitを使用して文字列()
誰もが事前に
感謝を:)してください助けることができます!
あなたのコメントを1として
はちょうど私のポストを編集し、私の非常に最初のポスト申し訳ありませんが、正常に表示されたコードのフォーマットのブロックを作る方法を知りませんでした。 – Christoph
サンプルでは、 'AN'列と' AO'列は常に空です。あなたはその場合何をしたいですか?結果の出力は空ではないでしょうか? – Jay
@Jayはい、最終データセットの2つの列を削除したいと思います(最終データセットには含めません)。 – Christoph