csv文件
简介
CSV(Comma-Separated Values)是一种用于存储表格数据的文件格式。它以纯文本形式表示数据,通常用于数据交换和存储。以下是CSV的一些主要特点:
-
结构简单:CSV文件由行和列组成,每一行代表一条记录,每一列代表一个字段。字段之间用逗号(
,
)分隔。 -
易于阅读:由于是纯文本格式,CSV文件可以用任何文本编辑器打开和编辑,便于人类阅读。
-
广泛支持:几乎所有的数据处理软件(如Excel、Google Sheets、数据库管理系统等)都支持CSV格式,方便数据导入和导出。
-
灵活性:CSV文件可以存储各种类型的数据,包括数字、文本和日期等。
-
缺乏标准化:虽然CSV格式广泛使用,但没有严格的标准,不同的实现可能在分隔符、文本引用(如使用双引号)等方面有所不同。
-
文件扩展名:CSV文件通常以
.csv
为扩展名。
CSV格式的一个简单示例:
姓名,年龄,城市
张三,28,北京
李四,22,上海
王五,30,广州
在这个示例中,第一行是表头,后面的行是数据记录。
如何建立一个csv文件
建立一个CSV文件的步骤如下:
1. 使用文本编辑器
你可以使用任何文本编辑器(如记事本、Notepad++、VS Code等)手动创建CSV文件:
-
打开文本编辑器。
-
输入数据,使用逗号分隔每个字段。例如:
-
将文件保存为
.csv
扩展名,例如data.csv
。
2. 使用Python编程
如果你想通过编程方式创建CSV文件,可以使用Python的csv
库。以下是一个简单的示例:
import csv
# 数据
data = [
['姓名', '年龄', '城市'],
['张三', 28, '北京'],
['李四', 22, '上海'],
['王五', 30, '广州']
]
# 创建并写入CSV文件
with open('data.csv', mode='w', newline='', encoding='utf-8') as file:
csv_writer = csv.writer(file)
csv_writer.writerows(data) # 写入多行数据
3. 使用电子表格软件
你也可以使用电子表格软件(如Microsoft Excel或Google Sheets)创建CSV文件:
- 打开Excel或Google Sheets。
- 在单元格中输入数据。
- 完成后,选择“文件”菜单,然后选择“另存为”或“下载”选项。
- 选择CSV格式进行保存。
4. 使用命令行
在Linux或macOS的命令行中,你可以使用以下命令创建CSV文件:
echo "姓名,年龄,城市" > data.csv
echo "张三,28,北京" >> data.csv
echo "李四,22,上海" >> data.csv
echo "王五,30,广州" >> data.csv
以上方法都可以有效地创建CSV文件,选择适合你的方式即可。
csv模块
1.导入模块
import csv
2.读取文件
open():打开后需使用close()关闭
csvFile = open(文件名)
with open(x) as x: 打开的文件不需要主动关闭
with open(文件名) as csvFile:
2.1建立reader对象
有了csv文件对象后,下一步可以使用csv模块建立reader对象,可以使用list()将这个reader对象转换成列表(list)
import csv
fn = 'data.csv'
with open(fn) as csvFile:
csvFile = csv.reader(csvFile)#读文件建立reader对象
2.2读取csv文件
import csv
fn = 'douban_top250.csv'
with open(fn) as csvFile:
csvReader = csv.reader(csvFile)#读文件建立reader对象
listReport = list(csvReader)
print(listReport[1][1],listReport[1][2])
写入csv文件
首先要打开一个csv文件供写入
使用open()打开文件,并写入模式
csvFile = open('文件名','w')
...
csvFile.close()
使用with打开csv文件,并写入模式
with open('文件名','w') as csvFile
3.1建立一个writer对象
import csv
fn = 'csvReport.csv'
with open(fp,'w') as csvFile:
csvweiter = csv.writer(csvFile)
3.2写入csv文件
import csv
fn = 'data.csv'
with open(fn, 'w', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '年龄', '性别'])
writer.writerow(['张三', '20', '男'])
注:没有encoding='utf-8’写入的是乱码