CSV、Excel、txt、dat文件是常见的数据存储格式,Python具备较强的处理这些文件的能力。下面,我将为大家分享Python处理这些格式文件的完整攻略。
CSV文件的处理
CSV文件为逗号分隔值文件,其内容以逗号分隔的文本数据形式存储。Python通过csv模块实现对CSV文件的处理。
CSV文件的读取
假设我们有一个名为example.csv的文件,文件内容如下所示:
id,name,age
1,Alice,18
2,Bob,21
3,Charlie,24
要读取该文件,代码如下所示:
import csv
with open('example.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
通过csv.reader()方法获取文件的读取器,每次读取文件的一行,返回一个列表。
输出结果为:
['id', 'name', 'age']
['1', 'Alice', '18']
['2', 'Bob', '21']
['3', 'Charlie', '24']
CSV文件的写入
写CSV文件的过程与读取类似,只需将读取器换成写入器即可。假设我们要将数据写入名为example_write.csv的文件中,代码如下所示:
import csv
data = [
('id', 'name', 'age'),
(1, 'Alice', 18),
(2, 'Bob', 21),
(3, 'Charlie', 24)
]
with open('example_write.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
以上代码中,使用csv.writer()方法获取写入器,然后使用writerow()方法写入数据。
Excel文件的处理
Python通过openpyxl库来处理Excel文件,该库支持.xlsx和.xlsm格式的文件。
Excel文件的读取
假设我们有一个名为example.xlsx的文件,文件内容如下所示:
id | name | age |
---|---|---|
1 | Alice | 18 |
2 | Bob | 21 |
3 | Charlie | 24 |
要读取该文件中的数据,代码如下所示:
from openpyxl import load_workbook
wb = load_workbook('example.xlsx')
sheet = wb.active
for row in sheet.iter_rows(min_row=2, values_only=True):
print(row)
以上代码中,首先使用load_workbook()方法加载Excel文件,然后使用active属性指定当前活动表格,最后使用iter_rows()方法以生成器的形式返回指定范围内的行数据。
输出结果为:
(1, 'Alice', 18)
(2, 'Bob', 21)
(3, 'Charlie', 24)
Excel文件的写入
Excel文件的写入需要创建一个Workbook对象,再创建Sheet对象,最后对单元格进行赋值。假设我们将数据写入到名为example_write.xlsx的文件中,代码如下所示:
from openpyxl import Workbook
data = [
('id', 'name', 'age'),
(1, 'Alice', 18),
(2, 'Bob', 21),
(3, 'Charlie', 24)
]
wb = Workbook()
sheet = wb.active
for row in data:
sheet.append(row)
wb.save('example_write.xlsx')
以上代码中,首先创建Workbook对象,然后使用active属性指定当前活动表格,最后使用append()方法写入数据。
txt和dat文件的处理
Python对txt和dat文件的处理方式相同,均使用内置函数open()打开文件,并使用read()和write()方法读取和写入数据。
txt和dat文件的读取
假设我们有一个名为example.txt的txt文件,文件内容如下所示:
id name age
1 Alice 18
2 Bob 21
3 Charlie 24
要读取该文件中的数据,代码如下所示:
with open('example.txt', 'r', encoding='utf-8') as f:
for line in f:
print(line.strip().split())
以上代码中,open()方法指定了文件的读取模式,然后通过循环读取文件中的每一行,并通过strip()方法去掉每一行前后的空格,再通过split()方法将每一行数据分割成列表返回。
输出结果为:
['id', 'name', 'age']
['1', 'Alice', '18']
['2', 'Bob', '21']
['3', 'Charlie', '24']
txt和dat文件的写入
要将数据写入txt和dat文件中,需要使用open()方法,并指定写入模式,代码如下所示:
data = [
'id name age',
'1 Alice 18',
'2 Bob 21',
'3 Charlie 24'
]
with open('example_write.txt', 'w', encoding='utf-8') as f:
for line in data:
f.write(line + '\n')
写入数据与读取类似,每次写入完一行数据,都需要使用write()方法,并添加换行符。
经过以上介绍,我们了解了Python对CSV、Excel、txt、dat文件的处理方式和方法,可以根据文件类型选择相应的库或内置函数进行处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python对CSV、Excel、txt、dat文件的处理 - Python技术站