2つの永続的な列を持つデータを読むために使用しているexcelとcsvという2種類のファイルがあります。Question、Answer、WordとReplacementの2つの一時的な列。データの可用性に基づいてExcelまたはCSVファイルからデータを読み取るにはどうすればよいですか?
私はcsvファイルからデータを読み込み、ファイルの拡張子に基づいて呼び出されるファイルをエクセルためにさまざまな機能を行っています。
は、彼らが存在する場合とそうでないときに基づいて、一時的な列(Wordや交換)からデータを読み込むための方法ですが。 Excelデータを読み出す機能)
def read_csv_file(path):
quesData = []
ansData = []
asciiIgnoreQues = []
qWithoutPunctuation = []
colnames = ['Question','Answer']
data = pandas.read_csv(path, names = colnames)
quesData = data.Question.tolist()
ansData = data.Answer.tolist()
qWithoutPunctuation = quesData
qWithoutPunctuation = [''.join(c for c in s if c not in string.punctuation) for s in qWithoutPunctuation]
for x in qWithoutPunctuation:
asciiIgnoreQues.append(x.encode('ascii','ignore'))
return asciiIgnoreQues, ansData, quesData
2:CSVファイルについて
1):以下の関数定義を参照してください
def read_excel_file(path):
book = open_workbook(path)
sheet = book.sheet_by_index(0)
quesData = []
ansData = []
asciiIgnoreQues = []
qWithoutPunctuation = []
for row in range(1, sheet.nrows):
quesData.append(sheet.cell(row,0).value)
ansData.append(sheet.cell(row,1).value)
qWithoutPunctuation = quesData
qWithoutPunctuation = [''.join(c for c in s if c not in string.punctuation) for s in qWithoutPunctuation]
for x in qWithoutPunctuation:
asciiIgnoreQues.append(x.encode('ascii','ignore'))
return asciiIgnoreQues, ansData, quesData
'pandas.read_csv'と' pandas.read_excel'を考えましたか?それらは、どの列が存在するかに基づいて自動的に読み込まれます。 – tmrlvi
@tmrlvi、私はcsv関数の読み込みにpandas.read_csvを使用しましたが、列ヘッダーはcolnamesで提供する必要があります。しかし、もし私が言葉と交換cloumnsを持っていない場合はどうですか? –
あなたはそれらを提供する必要はありません。あなたがそうでなければ、 'pandas'は名前を推論します。それとも、データにヘッダーが含まれていないのですか? – tmrlvi