-2

Excelファイルから作成されたテキストファイルがあります.ExcelファイルセルA2には「サプライヤーA」という名前があります。テキスト ファイルをインポートし、次のコードを使用する場合:

filea = open ( "jag.txt").readlines()
lines =[x.split() for x in filea]
print lines [0][1]

サプライヤー A ではなく「サプライヤー」のみを返します。A は [0][2] 行にあります。それをインポートして完全な単語を認識させるにはどうすればよいですか。テキストフィールドをコピーしてExcelに戻すと、適切にコピーされるため、txtファイルの定義はそれらが一緒であると認識します。

4

3 に答える 3

4

Excel では、通常、「txt」形式で保存するための区切り記号として「タブ」が使用されています。

したがって、次のようなことを試してください。

lines = []
with open('jag.txt') as f:
    lines = [ line.split('\t') for line in f.read().splitlines() ]
print(lines)

そして、このようなものを取得する必要があります

[ ['A1', 'A2', ...], ['B1', 'B2'], ... ]

「f.readlines()」だけではないのはなぜですか? これを使用すると、最後のセルにも改行記号 ('\n') が含まれます。

withステートメントを使用する理由 Withは最終的にファイルを閉じますが、これはいずれにせよ適切な選択です。

テキスト ファイルを解析する別の方法として、python (付属の) csvモジュールを使用できます。csv.readerの使用は、文字で区切られたファイル/構造を解析するための非常に便利な方法です。

with open('jag.txt') as f: 
    lines = [ line for line in csv.reader(f, delimiter='\t') ]

-コリン-

于 2012-09-03T13:24:45.537 に答える
3

これはstr.split()、すべての空白、タブ、および改行の間で分割されるためです。代わりにを使用することもできますstr.split(',')が、実際には、このようなタスクにはcsvモジュールを使用する必要があります。

于 2012-09-03T12:42:01.983 に答える
0

各行で区切られた値は何文字 (スペース、タブ、コンマなど) ですか? 現在のコードはsplit()、分割文字なしで使用して、空白でテキストを分割します。

于 2012-09-03T12:42:13.553 に答える