欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Pandas讀寫txt和csv文件的方法詳解

 更新時(shí)間:2022年09月19日 10:02:08   作者:無(wú) 羨?  
這篇文章主要為大家詳細(xì)介紹了Python Pandas實(shí)現(xiàn)讀寫txt和csv文件查找的方法,文中的示例代碼積極性,感興趣的小伙伴可以跟隨小編一起了解一下

一、文本文件

文本文件,主要包括csv和txt兩種等,相應(yīng)接口為read_csv()和to_csv(),分別用于讀寫數(shù)據(jù)

1. read_csv()

格式代碼:

pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

常用參數(shù)

  • filepath_or_buffer:文件路徑
  • sep=',':默認(rèn)以,為數(shù)據(jù)分隔符
  • skiprows:跳過(guò)前幾行
  • nrows :只讀前幾行
  • parse_dates = [‘col_name’]:指定某行讀取為日期格式
  • index_col = [‘col_1’,‘col_2’]:讀取指定的幾列
  • error_bad_lines = False :當(dāng)某行數(shù)據(jù)有問(wèn)題時(shí),不報(bào)錯(cuò),直接跳過(guò),處理臟數(shù)據(jù)時(shí)使用
  • na_values = ‘NULL’:將NULL識(shí)別為空值
  • header = 0:表示以數(shù)據(jù)的第一行為列索引
  • encoding = “utf-8”:表明以u(píng)tf-8為編碼規(guī)則。
  • names = range(0,50)):表示以[0…49]為列索引的名字

(1)讀取csv文件:

>>> import pandas as pd
>>>
>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv")
>>> print(df)
  name  age
0   小紅   10
1   小明   20
2   小白   30
>>> print(type(df))
<class 'pandas.core.frame.DataFrame'>
>>> # 行和列
>>> print(df.shape)
(3, 2)
>>> print(list(df.columns))
['name', 'age']

(2)讀取txt文件:

>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.txt")
>>> print(df)
   北京
0  上海
1  成都
2  深圳
3  廣州
4  廣東

skiprows

跳過(guò)前n行

>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv", skiprows=2)
>>> print(df)
   小明  20
0  小白  30

nrows

只讀前幾行

>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv", nrows =2)
>>> print(df)
  name  age
0   小紅   10
1   小明   20

index_col

index_col = [‘col_1’,‘col_2’]:讀取指定的幾列。整數(shù)或者字符串或者整數(shù)/字符串列表。指定用作的行標(biāo)簽的列。

感覺(jué)有問(wèn)題,和我想象中不同:

>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv", index_col  =['name'])
>>> print(df)
      age
name
小紅     10
小明     20
小白     30
>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv", index_col=1)
>>> print(df)
    name
age
10    小紅
20    小明
30    小白

names

names = range(0,50):表示以[0…49]為列索引的名字

不與header=0共同使用:

>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv", names=['姓名', '年齡'])
>>> print(df)
     姓名   年齡
0  name  age
1    小紅   10
2    小明   20
3    小白   30

header=0共同使用:

>>> df = pd.read_csv(r"E:\Python學(xué)習(xí)\test.csv", header=0, names=['姓名', '年齡'])
>>> print(df)
   姓名  年齡
0  小紅  10
1  小明  20
2  小白  30

2. to_csv()

格式代碼:

pd.to_csv(path_or_buf,sep,na_rep,columns,header,index)

常用參數(shù):

path_or_buf:str:放文件名、相對(duì)路徑、文件流等。

sep:分隔符。與read_csv()中sep參數(shù)意思一樣。

na_rep:將NaN轉(zhuǎn)換為特定值。

columns:指定哪些列寫進(jìn)去。

header;默認(rèn)header=0,如果沒(méi)有表頭,設(shè)置header=None。

index:關(guān)于索引的,默認(rèn)True,寫入索引。

(1)寫入csv文件:

>>> import pandas as pd
>>>
>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> print(df)
   A  B    C
0  1  2  NaN
1  3  4  5.0
>>> print(type(df))
<class 'pandas.core.frame.DataFrame'>
>>> df.to_csv('test1.csv')
>>>

可以看到生成了新文件:

我們讀取看看:

>>> df1 = pd.read_csv(r"test1.csv", header=0, encoding="utf-8")
>>> print(df1)
   A  B    C
0  1  2  NaN
1  3  4  5.0

(2)寫入txt文件:

>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> df.to_csv('test1.txt')

生成新文件:

sep

設(shè)置分隔符

>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> df.to_csv('test2.csv', sep=';') # 設(shè)置;號(hào)為分割符

可以看到分隔符為分號(hào):

na_rep

na_rep:將NaN轉(zhuǎn)換為特定值。

>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> df.to_csv('test3.csv', na_rep='100') # 空值替換為100
>>>
>>> df1 = pd.read_csv('test3.csv')
>>> print(df1)
   Unnamed: 0  A  B      C
0           0  1  2  100.0
1           1  3  4    5.0

columns

columns:指定哪些列寫進(jìn)去。

>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> df.to_csv('test4.csv', columns=['A','B']) # 只寫入A、B列
>>>
>>> df1 = pd.read_csv('test4.csv')
>>> print(df1)
   Unnamed: 0  A  B
0           0  1  2
1           1  3  4

header

header;默認(rèn)header=0,如果沒(méi)有表頭,設(shè)置header=None。

>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> df.to_csv('test5.csv', header=None)
>>>
>>> df1 = pd.read_csv('test5.csv')
>>> print(df1)
   0  1  2  Unnamed: 3
0  1  3  4         5.0

index

index:關(guān)于索引的,默認(rèn)True,寫入索引

不保留索引:

>>> data = [{'A': 1, 'B': 2}, {'A': 3, 'B': 4, 'C': 5}]
>>> df = pd.DataFrame(data)
>>> df.to_csv('test6.csv', index=False)
>>>
>>> df1 = pd.read_csv('test6.csv')
>>> print(df1)
   A  B    C
0  1  2  NaN
1  3  4  5.0

以上就是Python Pandas讀寫txt和csv文件的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Python Pandas讀寫txt csv的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python Django批量導(dǎo)入數(shù)據(jù)

    python Django批量導(dǎo)入數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了python Django批量導(dǎo)入數(shù)據(jù)的相關(guān)資料感興趣的小伙伴們可以參考一下
    2016-03-03
  • 通俗的講解深度學(xué)習(xí)中CUDA,cudatookit,cudnn和pytorch的關(guān)系

    通俗的講解深度學(xué)習(xí)中CUDA,cudatookit,cudnn和pytorch的關(guān)系

    有些剛?cè)胄械呐笥芽偸歉悴磺宄﨏UDA,cudatookit,cudnn和pytorch的關(guān)系,那么今天這篇文章用通俗易懂的話講解了他們之間的關(guān)系,需要的朋友可以參考下,相信會(huì)對(duì)你有所幫助
    2023-03-03
  • python?pandas數(shù)據(jù)處理之刪除特定行與列

    python?pandas數(shù)據(jù)處理之刪除特定行與列

    Pandas是數(shù)據(jù)科學(xué)中的利器,你可能想到的數(shù)據(jù)處理騷操作,貌似用Pandas都能夠?qū)崿F(xiàn),下面這篇文章主要給大家介紹了關(guān)于python?pandas數(shù)據(jù)處理之刪除特定行與列的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python socket連接中的粘包、精確傳輸問(wèn)題實(shí)例分析

    Python socket連接中的粘包、精確傳輸問(wèn)題實(shí)例分析

    這篇文章主要介紹了Python socket連接中的粘包、精確傳輸問(wèn)題,結(jié)合實(shí)例形式分析了Python socket連接中的粘包、精確傳輸相關(guān)問(wèn)題原因、解決方案與操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • Python數(shù)據(jù)分析之pandas函數(shù)詳解

    Python數(shù)據(jù)分析之pandas函數(shù)詳解

    這篇文章主要介紹了Python數(shù)據(jù)分析之pandas函數(shù)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的pandas函數(shù)的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04
  • 關(guān)于Python的json字符串與json模塊解讀

    關(guān)于Python的json字符串與json模塊解讀

    這篇文章主要介紹了關(guān)于Python的json字符串與json模塊解讀,JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C,?C++,?C#,?Java,?JavaScript,?Perl,?Python等),這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言,需要的朋友可以參考下
    2023-07-07
  • Python生成密碼庫(kù)功能示例

    Python生成密碼庫(kù)功能示例

    這篇文章主要介紹了Python生成密碼庫(kù)功能,涉及Python基于隨機(jī)字符串實(shí)現(xiàn)的生成密碼功能相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • python 獲取頁(yè)面表格數(shù)據(jù)存放到csv中的方法

    python 獲取頁(yè)面表格數(shù)據(jù)存放到csv中的方法

    今天小編就為大家分享一篇python 獲取頁(yè)面表格數(shù)據(jù)存放到csv中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 詳解tensorflow實(shí)現(xiàn)遷移學(xué)習(xí)實(shí)例

    詳解tensorflow實(shí)現(xiàn)遷移學(xué)習(xí)實(shí)例

    本篇文章主要介紹了詳解tensorflow實(shí)現(xiàn)遷移學(xué)習(xí)實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • python類型強(qiáng)制轉(zhuǎn)換long to int的代碼

    python類型強(qiáng)制轉(zhuǎn)換long to int的代碼

    python的int型最大值和系統(tǒng)有關(guān),32位和64位系統(tǒng)結(jié)果是不同的,分別為2的31次方減1和2的63次方減1,可以通過(guò)sys.maxint查看此值
    2013-02-02

最新評(píng)論