복붙노트

[PYTHON] pandas to_csv 출력 인용문

PYTHON

pandas to_csv 출력 인용문

나는 python pandas에 상당히 익숙하지만, to_csv 출력을 올바르게 인용하는 데 문제가 있습니다.

import pandas as pd

text = 'this is "out text"'
df = pd.DataFrame(index=['1'],columns=['1','2'])
df.loc['1','1']=123
df.loc['1','2']=text
df.to_csv('foo.txt',index=False,header=False)

출력은 다음과 같습니다.

그러나 나는 다음과 같이 원한다.

누구든지이 권리를 얻는 방법을 알고 있습니까?

해결법

  1. ==============================

    1.quoting = csv.QUOTE_NONE을 전달할 수 있습니다 (예 :).

    quoting = csv.QUOTE_NONE을 전달할 수 있습니다 (예 :).

    >>> df.to_csv('foo.txt',index=False,header=False)
    >>> !cat foo.txt
    123,"this is ""out text"""
    >>> import csv
    >>> df.to_csv('foo.txt',index=False,header=False, quoting=csv.QUOTE_NONE)
    >>> !cat foo.txt
    123,this is "out text"
    

    하지만 내 경험에 비추어 볼 때, 더 많이 인용하는 것이 낫습니다.

  2. ==============================

    2.참고 : 현재 Pandas to_string 설명서에는 약간의 오류가 있습니다. 그것은 말한다 :

    참고 : 현재 Pandas to_string 설명서에는 약간의 오류가 있습니다. 그것은 말한다 :

    그러나 이것은 csv가 QUOTE_NONE 및 QUOTE_NONNUMERIC 변수를 정의하는 방법을 바꿉니다.

    In [13]: import csv
    In [14]: csv.QUOTE_NONE
    Out[14]: 3
    
  3. ==============================

    3.quoting = csv.QUOTE_NONE을 사용하려면 escapechar을 설정해야합니다 (예 :

    quoting = csv.QUOTE_NONE을 사용하려면 escapechar을 설정해야합니다 (예 :

    # Create a tab-separated file with quotes
    $ echo abc$'\t'defg$'\t'$'"xyz"' > in.tsv
    $ cat in.tsv
    abc defg    "xyz"
    
    # Gotcha the quotes disappears in `"..."`
    $ python3
    >>> import pandas as pd
    >>> import csv
    >>> df = pd.read("in.tsv", sep="\t")
    >>> df = pd.read_csv("in.tsv", sep="\t")
    >>> df
    Empty DataFrame
    Columns: [abc, defg, xyz]
    Index: []
    
    
    # When reading in pandas, to read the `"..."` quotes,
    # you have to explicitly say there's no `quotechar`
    >>> df = pd.read_csv("in.tsv", sep="\t", quotechar='\0')
    >>> df
    Empty DataFrame
    Columns: [abc, defg, "xyz"]
    Index: []
    
    # To print out without the quotes.
    >> df.to_csv("out.tsv", , sep="\t", quoting=csv.QUOTE_NONE, quotechar="",  escapechar="\\")
    
  4. ==============================

    4.'foo.txt'를 쓰는 것과는 대조적으로 'foo.csv'라고 씁니다. 그것으로 문제가 해결되었습니다. Excel에서 CSV 파일을 읽을 때 추가 인용 부호가 없습니다.

    'foo.txt'를 쓰는 것과는 대조적으로 'foo.csv'라고 씁니다. 그것으로 문제가 해결되었습니다. Excel에서 CSV 파일을 읽을 때 추가 인용 부호가 없습니다.

  5. from https://stackoverflow.com/questions/21147058/pandas-to-csv-output-quoting-issue by cc-by-sa and MIT license