打开txt报错_python(pandas)读取外部数据使用Pandas读写操作txt文件

1、准备.txt的数据文件

打开txt报错_python(pandas)读取外部数据使用Pandas读写操作txt文件

其实pandas读写.txt文件和读写csv文件是类似的,而且使用的都是pd.read_csv() / df.to_csv()

2、pandas.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)
常用参数解释:
filepath_or_buffer #需要读取的文件及路径
sep=’,’ # 以,为数据分隔符
shkiprows= 10 # 跳过前十行
nrows = 10 # 只去前10行
usecols=[0,1,2,…] #需要读取的列,可以是列的位置编号,也可以是列的名称
parse_dates = [‘col_name’] # 指定某行读取为日期格式
index_col = [‘col_1′,’col_2’] # 读取指定的几列
error_bad_lines = False # 当某行数据有问题时,不报错,直接跳过,处理脏数据时使用
na_values = ‘NULL’ # 将NULL识别为空值
encoding=’utf-8′ #指明读取文件的编码,默认utf-8

3、使用Pandas读取用英文逗号”,”分隔的.txt文件,sep=’,’可以省略

小心编码问题:

打开txt报错_python(pandas)读取外部数据使用Pandas读写操作txt文件
import numpy as npimport pandas as pddf = pd.read_csv(r"e:\text01.txt",encoding='ANSI')# df = pd.read_csv(r"e:\text01.txt",sep=',' ,encoding='utf-8')print(df) >>结果:      编号         姓名   职业  地址0   1001      jalen  计算机  贵州1   1002         xr   运营  贵州...

上面的代码就读取了整个text01.txt的数据,需要注意的是编码转换问题,你读取的时候encoding必须一致,你也可以打开文档–另存为–修改编码为utf-8指定的编码格式。

打开txt报错_python(pandas)读取外部数据使用Pandas读写操作txt文件
import numpy as npimport pandas as pddf = pd.read_csv(r"e:\text01.txt",encoding='utf-8')# df = pd.read_csv(r"e:\text01.txt",sep=',' ,encoding='utf-8')print(df)

4、使用Pandas读取其他分割符的.txt文件,sep=’分隔符’写清楚

同样注意编码保持一致

import numpy as npimport pandas as pddf = pd.read_csv(r"e:\text02.txt",sep=' ' ,encoding='utf-8')print(df) >>结果:   编号  地址0   1  贵州1   2  广东2   3  杭州3   4  湖北

5、使用Pandas读取.txt文件指定的行和列

import numpy as npimport pandas as pd#读的文件;读取第0,1,3列;不读前两行,然后读3行;忽略列名;编码df = pd.read_csv(r"e:\text01.txt",sep=',',usecols=[0,1,3],skiprows=2,nrows=3,header=None,encoding='utf-8')print(df) >> 结果:      0     1   30  1002    xr  贵州1  1003  lili  贵州2  1004  nini  广东

6、使用Pandas写入.txt文件

写入csv文件是最常用的,csv文件默认用’,’作为分隔符。
语法:
df.to_csv(path_or_buf=None, sep=’,’, na_rep=”, float_format=None, columns=None, header=True, index=True, index_label=None, mode=’w’, encoding=None)
常用参数说明:
path_or_buf:文件名、文件具体、相对路径、文件流等
sep:文件分割符号,to_csv()的sep默认为’,’,可指定任意字符作为分隔符
na_rep:将NaN转换为特定值。写入时NaN会被表示为空字符串,我们可能希望用其他值代替,如:’- ‘、’/’、’NULL’ 等
columns:选择部分列写入。保留部分列且按列排序,columns=[‘B列列名’,’A列列名’]
header:忽略列名,header=None 不写入列名
index:index=False 表示选择不写入索引

import numpy as npimport pandas as pd #读取text01.txt指定的数据df = pd.read_csv(r"e:\text01.txt",sep=',',usecols=['编号','姓名','地址'],nrows=3,encoding='utf-8')print(df) #将df写入.txt文件df.to_csv(r"e:\text03.txt",sep=",",columns=['编号','姓名','地址'],index=False,encoding='utf-8')print("写入成功") #再读取验证text03.txtdf3 = pd.read_csv(r"e:\text03.txt",sep=",",encoding='utf-8')print(df3) >>结果:     编号     姓名  地址0  1001  jalen  贵州1  1002     xr  贵州2  1003   lili  贵州写入成功     编号     姓名  地址0  1001  jalen  贵州1  1002     xr  贵州2  1003   lili  贵州

python连接操作Oracle数据库

Original: https://blog.csdn.net/weixin_39714015/article/details/112501276
Author: weixin_39714015
Title: 打开txt报错_python(pandas)读取外部数据使用Pandas读写操作txt文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/755988/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球