Pandasでアーカイブファイルの名前を格納するGZIP圧縮ファイルからCSVデータを読み取ることができません -- python フィールド と csv フィールド と pandas フィールド 関連 問題

Can't read csv data from gzip-compressed file which stores name of archived file with Pandas












2
vote

問題

日本語

GZIPアーカイブファイルからCSVデータを読み込もうとしています。これは、アーカイブされたデータファイルの名前も保存します。問題は、pandas.read_csv()がアーカイブファイルの名前を選択し、それを返されたデータフレーム内の最初のデータ入力として返すことです。アーカイブファイルの名前をスキップできますか?私はpandas.read_csv()の利用可能なすべてのオプションを見て、私がそれをすることを許すものを見つけることができませんでした。

PythonにGZIPアーカイブファイルを作成する方法:

<事前> <コード> import pandas as pn import numpy as np import tarfile a = np.ones((10, 8)) np.savetxt('ones.dat', a) fh = tarfile.open('ones.tar.gz', 'w:gz') fh.add('ones.dat', arcname='numpy_ones.dat') fh.close() f = pn.read_csv('ones.tar.gz', compression='gzip', sep='s+', header=None) In [32]: f Out[32]: 0 1 2 3 4 5 6 7 8 0 numpy_ones.dat 1 1 1 1 1 1 1 1 1 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 2 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 3 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 4 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 5 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 6 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 7 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 8 1.000000000000000000e+00 1 1 1 1 1 1 1 NaN 9 NaN NaN NaN NaN NaN NaN NaN NaN NaN

Python 3.4.3(V3.4.3:9B73F1C3E601、2月23日2015,02:52:03)を使用しています。 numpy: '1.9.2' Pandas: '0.16.2'

感謝します、 マシャ

英語

I am trying to read csv data from gzip archive file which also stores name of the archived data file. The problem is that pandas.read_csv() picks the name of the archived file and returns it as very first data entry in returned DataFrame. How can I skip the name of the archived file? I looked at all available options of pandas.read_csv() and could not find the one that would allow me to do it.

Here is how I create my gzip archive file in python:

import pandas as pn import numpy as np import tarfile  a = np.ones((10, 8)) np.savetxt('ones.dat', a) fh = tarfile.open('ones.tar.gz', 'w:gz') fh.add('ones.dat', arcname='numpy_ones.dat') fh.close()  f = pn.read_csv('ones.tar.gz', compression='gzip', sep='s+',  header=None) In [32]: f Out[32]:  0   1   2   3   4   5   6   7   8 0            numpy_ones.dat   1   1   1   1   1   1   1   1 1  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 2  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 3  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 4  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 5  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 6  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 7  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 8  1.000000000000000000e+00   1   1   1   1   1   1   1 NaN 9                       NaN NaN NaN NaN NaN NaN NaN NaN NaN 

I am using Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03). Numpy: '1.9.2' Pandas: '0.16.2'

Many thanks, Masha

</div
        

回答リスト

2
 
vote

もう一度Tarfileを使用してください。

<事前> <コード> fh = tarfile.open('ones.tar.gz', 'r:gz') f = fh.extractfile('numpy_ones.dat') df = pd.read_csv(f, delim_whitespace=True, header=None)
 

Use tarfile again:

fh = tarfile.open('ones.tar.gz', 'r:gz') f = fh.extractfile('numpy_ones.dat') df = pd.read_csv(f, delim_whitespace=True, header=None) 
</div
 
 
 
 

関連する質問

0  さまざまな可能性がある場合のPython Pandas DataFrameでの文字列一致  ( String match in python pandas dataframe when there is different possibilities ) 
href="https://i.stack.imgur.com/yolw5.png" rel="nofollow noreferrer">イメージの入力ここにいる説明 私は4列のデータフレーム(300,000行)を持っています。次のサンプル値がある「モデル...

2  Pythonマルチスレッドはスピードを上げません  ( Python multithreading doesnt increase speed ) 
私は、場所の座標とその他のコードを含む2つの別々のファイルを持っています。 pandas を使用して、それらを一意のキーでマッピングすることで、3つのパラメータすべてを含む新しいデータフレームを作成します。問題は時間がかかりすぎることです。 これは、それ...

-1  特定のデータを出すには、このAuterHTMLコードをどのようにループしますか? (私はこれを試してみたいようにWebScrapeの方法がわかりません)  ( How do i loop over this outerhtml code to get out certain data i dont know ho ) 
私は、2011年の人口国口の中に、インドの地区に地区コードに一致するリストを取得しようとしています。以下に、政府のウェブサイトからコピーしたAuterhtmlの小さなサブセットを投稿します。私はそれをループさせようとし、各小さなHTMLボックスから文字列とin...

2  Pandas GroupByとセレクターの順序  ( Pandas groupby and selector order ) 
3列のデータフレームを持っているとします: <事前> <コード> Criteria Group Value 0 A 0 0.1 1 B 0 0.2 2 B 1 0....

1  タプルを鍵と値として辞書するPandas DataFrame  ( Pandas dataframe to dictionary with tuples as key and values ) 
私は以下の手助けが必要です: 私は以下のようにCSVファイルを持っていて、データフレーム 'DF'にロードされます。複数の領域、メモリ、VCPU、および各 '名前'に対応するストレージには異なる値があります。このデータフレームには1700行があります。 ...

2  パンダの行を変更します  ( Change rows in pandas ) 
Pandasデータフレームにマトリックスを持っています <事前> <コード> print dfMatrix 0 1 2 3 4 0 10000 10 8 11 ...

0  シリーズの真理値はあいまいです。このエラーを解決する方法[複製]  ( The truth value of a series is ambiguous how do i fix this error ) 
この質問はすでにここで回答を持っています シリーズの真理値はあいまいです。 a.Empty、a.bool()、a.item()、a.any()またはa.all()を使用してください。 ...

8  Pandas DataFrameへの変更率を追加します  ( Add rate of change to pandas dataframe ) 
次のPandas DataFrame: <事前> <コード> lastrun value 0 2013-10-24 13:10:05+00:00 55376 ...

0  Pandasを使って最寄りの分をマージします  ( Merge with the nearest minute using pandas ) 
私は単に±1分の間隔で2つのデータフレームをマージしたいです。 ここにサンプルデータセットを持つname_df: <事前> <コード> Name Date A 2/19/2019 17:16:15 B 2/19/2019 17:...

1  Pandas Groupbyをグループ行グループに使用するには、列値を合計して決定できますか?  ( Can you use pandas groupby to group rows determined by summing a column value ) 
データフレームの行を1列の値でグループ化したいと思います。以下に示す例は、iが150の値で 'NumberOfTrades'の値をグループ化していた場合であるので、上位2行がグループ化され、下位3行がグループ化されます。私が理解している次のステップは、各グルー...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有