如何运用python读写CSV文件
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
目录
- 1、使用基础Python代码来读写和处理CSV文件
- 2、使用pandas读写和处理CSV文件
- 3、使用内置csv读写和处理CSV文件
1、使用基础Python代码来读写和处理CSV文件
import sys
#使用基础Python代码来读写和处理CSV文件
input_file = sys.argv[1]
output_file = sys.argv[2]
with open(input_file, 'r', newline='') as filereader:
with open(output_file, 'w', newline='') as filewriter:
header = filereader.readline()
header = header.strip()
header_list = header.split(',')
print(header_list)
#map 函数将 str 函数应用于 header_list 中的每个元素,
#确保每个元素都是字符串。然后,
#join 函数在 header_list 中的每个值之 间插入一个逗号,将这个列表转换为一个字符串
filewriter.write(','.join(map(str,header_list))+'\n')
for row in filereader:
row = row.strip()
row_list = row.split(',')
print(row_list)
filewriter.write(','.join(map(str,row_list))+'\n')
说明:map 函数将 str 函数应用于 header_list 中的每个元素,确保每个元素都是字符串。然后,
join 函数在 header_list 中的每个值之 间插入一个逗号,将这个列表转换为一个字符串。
执行:
2、使用pandas读写和处理CSV文件
#使用pandas读写和处理CSV文件
import pandas as pd
input_file = sys.argv[1]
output_file = sys.argv[2]
#data_frame:数据框也是存储数据的一种方式。
#数据框中保留了“表格”这种数据组织方式,不需要使用列表套列表的方式来分析数据
data_frame = pd.read_csv(input_file)
print(data_frame)
data_frame.to_csv(output_file, index=False)
说明:data_frame:数据框也是存储数据的一种方式。数据框中保留了“表格”这种数据组织方式,不需要使用列表套列表的方式来分析数据。
执行:
3、使用内置csv读写和处理CSV文件
#使用内置csv读写和处理CSV文件,用于正确 处理数据值中的嵌入逗号和其他复杂模式的
import csv
import sys
input_file = sys.argv[1]
output_file = sys.argv[2]
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
#创建文件读对象
#第二个参数(就是 delimiter=',') 是默认分隔符,
#所以如果你的输入文件和输出文件都是用逗号分隔的,就不需要指定这个 参数
filereader = csv.reader(csv_in_file, delimiter=',')
#创建文件写对象
filewriter = csv.writer(csv_out_file, delimiter=',')
for row_list in filereader:
print(row_list)
filewriter.writerow(row_list)
说明:第二个参数(就是 delimiter=',') 是默认分隔符,所以如果你的输入文件和输出文件都是用逗号分隔的,就不需要指定这个参数。
执行:
到此这篇关于如何运用python读写CSV文件的文章就介绍到这了,更多相关python读写CSV文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341