csvファイルからExcelファイルを作成しようとしています。私のCSVファイルの様子は次のとおりです。Pythonでcsvモジュールを使用してcsvファイルを解析中にこの行のデータが正しくない場合、行をスキップするには
|T|,|T|,|T|,|T|
|A|,|B|,|C|,|D|
|E|,|F|,|G|,|H|
|I|,|J|,|K|,|L|
|M|,|N|,|O
|Q|,|R|,|S|,|T|
|U|,|V|,|W|,|X|
|Y|,|Z
|A|,|B|,|C|,|D|
私はセパレータとして使用しています。引用符文字やファイルを生成するには、次のスクリプトを使用して:
import csv
from xlsxwriter.workbook import Workbook
mydelimiter = ','
myquotechar = '|'
with open('abcd.csv', 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=mydelimiter, quotechar=myquotechar)
workbook = Workbook('abcd.xlsx', {'strings_to_urls': False})
worksheet = workbook.add_worksheet()
for r, row in enumerate(reader):
for c, col in enumerate(row):
worksheet.write(r,c,col)
workbook.close()
ここで何が起こっているが、行番号5を解析中に、読者がで次のクォート文字と区切り、次の行の行NUMER 5を挿入し、6を見つけるために続けていることですExcelファイルの1行。私の質問は、それが正しいフォーマットまたはストップリーダーではない場合、どのように我々は次の行を考慮から行をスキップすることができますが、唯一の代わりにそこにラインを終了している
Line No. 5: M N "O{newline character here}Q|" R S T
ように私のExcelファイル内の行番号5が見えます。 私のcsvのデータには{改行文字}はありませんが、一部の行には終了符文字と一部の列がありません(行番号5、3列目は| O | 4列目| P |が欠落しているはずです) 。ここ は、私は私のExcelファイルが見えるようにしたいものです。
Line No. 5: M N O (I am good with or without this line in excel.)
Line No. 6: Q R S T
とアルネ・S.によって提供されたリンクで提案されているように reader = csv.reader(csvfile, delimiter=mydelimiter, quotechar=myquotechar, lineterminator='\n')
どちらか動作しません。
Pythonでcsvファイルを読み込んでいるときに[文字列の中に改行を入れていますか?](https://stackoverflow.com/questions/11362667/getting-newline-inside-string-while-reading-the-csv) -file-in-python) –
実際には、私は上記のリンクで尋ねられているものとはまったく反対です。私のデータには改行文字はありません。私は次の行に進みたくありません。 'csv.reader()'に '\ n 'としてlineterminatorを与えるだけでは機能しません。 –