python pandas读取txt文件_Python数据分析之Pandas读写外部数据文件

1 引言

数据分析、数据挖掘、可视化是Python的众多强项之一,但无论是这几项中的哪一项都必须以数据作为基础,数据通常都存储在外部文件中,例如txt、csv、excel、数据库。本篇中,我们来捋一捋Python中那些外部数据文件读取、写入的常用方法。

下表是Pandas官方手册上给出的一张表格,表格描述的是Pandas中对各种数据文件类型的读、写函数,你可以直接在官方手册中找到:

1539768-20190906173513510-1862458562.png

通过阅读表格,可以发现,Pandas中提供了非常丰富的数据读写方法。不过本文只讲述文本文件(txt、csv)、excel文件、关系型数据库(mysql)、非关系型数据库(mongodb)的读写方式。

2 文本文件(txt、csv)

无论是txt文件还是csv文件,在Pandas中都使用read_csv()方法读取,当然也使用同一个方法写入到文件,那就是to_csv()方法。

我们先来说说怎么读取数据。所要读取的文件名为“data.csv",文件内容用记事本打开后如下所示:

1539768-20190906170156048-688120671.png

2.1 读取数据

为了提供更加多样化、可定制的功能,read_csv()方法定义了参数数十个参数,还好的是大部分参数并不常用,而且绝大多数情况使用默认值就可以,所以只需要记住以下的几个比较常用的参数就可以了:

(1)filepath_or_buffer:文件所在路径,可以是一个描述路径的字符串、pathlib.Path对象、http或ftp的连接,也可以是任何可调用read()方法的对象。这个参数是唯一一个必传的参数。

>>> importpandas as pd>>> df = pd.read_csv('data.csv', encoding='gbk')>>>df

姓名 语文 数学 英语

0 陈一89 90 67

1 赵二 70 78 90

2 张三 87 86 79

3 李四 90 69 84

4 王五 78 80 69

(2)encoding :编码,字符型,通常为'utf-8',如果中文读取不正常,可以将encoding设为’gbk‘。

在上面打开data.csv文件的例子中,如果不指定encoding='gbk'则会出现下面的异常。当然,你也可以在记事本中通过另存为的方式将编码修改为utf-8,这样就可以使用默认的utf-8编码。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte

(3)sep:分隔符,默认为一个英文逗号,即','。

(4)delimiter :备选分隔符,如果指定了delimiter则sep失效。

(5)header :整数或者由整数组成的列表,以用来指定由哪一列或者哪几列作为列名,默认为header=0,表示第一列作为列名。

>>> pd.read_csv('data.csv', encoding='gbk', header=1) #指定第二列作为列名

陈一 89 90 670 赵二70 78 90

1 张三 87 86 79

2 李四 90 69 84

3 王五 78 80 69

可以看到,当指定第一行之后的数据作为列名时,前面的所有行都会被略过。

也可以传递一个包含多个整数的列表给header,这样每一列就会有多个列名。如果中间某一行没有指定,那么改行会被略过,例如下面的第三行:

>>> df = pd.read_csv('data.csv', encoding='gbk', header=[0,1,3])>>>df

姓名 语文 数学 英语

陈一89 90 67张三87 86 790 李四90 69 84

1 王五 78 80 69

当文件中没有列名一行数据时,可以传递header=None,表示不从文件数据中指定行作为列名,这是Pandas会自动生成从零开始的序列作为列名:

>>> df = pd.read_csv('data.csv', encoding='gbk', header=None)>>>df

01 2 30 姓名 语文 数学 英语1 陈一 89 90 67

2 赵二 70 78 90

3 张三 8

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python可以使用open()函数读取txt文件,然后使用pandas库将数据入Excel文件。 以下是一个示例代码: ```python import pandas as pd # 读取txt文件 with open('data.txt', 'r') as f: data = f.readlines() # 将数据转换为DataFrame df = pd.DataFrame([line.strip().split('\t') for line in data]) # 将数据入Excel文件 df.to_excel('data.xlsx', index=False, header=False) ``` 其中,data.txt是要读取txt文件,data.xlsx是要入的Excel文件。这个示例代码假设txt文件中的数据是以制表符分隔的。如果数据是以其他分隔符分隔的,需要相应地修改代码。 ### 回答2: Python可以轻松读取文本文件,并且可以将数据入Excel文件中,使用Python处理文本和Excel文件是非常方便的。 读取txt文件 使用Python内置的open()函数打开需要读取txt文本文件,并且使用read()方法读取整个文件内容,如下所示: ``` f = open('example.txt', 'r') content = f.read() f.close() ``` 读取的内容将存储在变量content中。其中,'example.txt'是需要读取txt文件名,'r'表示以只模式打开文件。 如果需要按行读取txt文件,可以使用readline()方法。例如: ``` f = open('example.txt', 'r') for line in f: print(line) f.close() ``` 此代码将打开example.txt文件,并在控制台中打印每一行。对于大型文本文件,这种方法比read()更有效。 入Excel文件 Python中可以使用很多库来入Excel文件,包括xlwt、openpyxl和xlutils等。在这里,我们将使用openpyxl库。 要使用openpyxl库,需要使用以下命令来安装它: ``` pip install openpyxl ``` 接下来,您可以使用以下代码创建一个新的Excel文件: ``` from openpyxl import Workbook wb = Workbook() ws = wb.active ws['A1'] = 'Hello' ws['B1'] = 'World!' wb.save('example.xlsx') ``` 此代码将创建一个名为example.xlsx的Excel文件,并将'Hello'和'World!'入A1和B1单元格中。 要将txt文件中的数据入Excel文件,可以使用以下代码: ``` from openpyxl import Workbook wb = Workbook() ws = wb.active f = open('example.txt', 'r') row = 1 for line in f: col = 1 for word in line.split(): ws.cell(row=row, column=col, value=word) col += 1 row += 1 f.close() wb.save('example.xlsx') ``` 此代码将打开example.txt,按行读取文件,并将每行中的单词入Excel文件的单元格中。每行单词将占用Excel文件中的一行,并且将使用split()方法将行分割为单词。 在这里,我们根据读取的每个单元格的行和列号,使用ws.cell()方法将单词入Excel文件中。最后保存Excel文件。 总结 Python读取txt文件并将数据入Excel文件非常容易。Python提供了许多库和方法来处理文本和Excel文件。我们可以使用open()函数读取txt文本文件,并使用openpyxl库将数据入Excel文件中。这种方法非常有效,并且可以处理大型文本和Excel文件。希望本文对大家有所帮助。 ### 回答3: Python是一种强大的编程语言,在数据处理和分析方面具有很大的优势。在数据处理过程中,通常需要将数据从不同的文件格式中转换。一个常见的操作是读取文本文件并将其转换为电子表格格式,这样可以更方便地对数据进行操作和分析。 Python可以通过使用一些库来实现将txt文件入excel的操作。其中,最常用的库是pandas和openpyxl。 首先,使用pandas库将txt文件读取pandas的DataFrame中: ``` import pandas as pd df = pd.read_csv('data.txt', delimiter="\t") ``` 这里使用read_csv函数读取txt文件。delimiter参数指定文件中的分隔符,并将文件内容入一个DataFrame中。 接下来,使用openpyxl库将DataFrame对象入到excel文件中: ``` from openpyxl import Workbook book = Workbook() writer = pd.ExcelWriter('output.xlsx', engine='openpyxl') writer.book = book df.to_excel(writer, sheet_name='Sheet1') writer.save() ``` 在这里,使用openpyxl创建一个新的excel文件,并将它与pandas的ExcelWriter关联。ExcelWriter充当中间层,以帮助将DataFrame入Excel文件。最后,将DataFrame对象入到要输出的excel文件中。 以上就是Python读取txt文件入Excel的基本操作。当然,还可以使用更多的参数和方法来处理和操作数据。此外,还可以使用其他库,如xlwt和xlsxwriter,来实现相同的任务。需要根据实际需求选择适合的方法和工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值