文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
2.5 添加标题行
有些时候,电子表格中没有标题行,但你确实希望所有列都有列标题。在这种情况下,可以使用脚本添加列标题。
为了演示如何使用脚本添加列标题,需要对输入文件做一下修改:
(1) 在电子表格程序中打开 supplier_data.csv。
(2) 删除文件中的第一行(即包含列标题的标题行)。
(3) 将文件保存为 supplier_data_no_header_row.csv。如图 2-11 所示。
图 2-11:包含数据行的 CSV 文件,没有标题行
01. 基础Python
要使用基础 Python 添加列标题,在文本编辑器中输入下列代码,然后将文件保存为 12csv_reader_add_header_row.py:
1 #!/usr/bin/env python3 2 import csv 3 import sys 4 input_file = sys.argv[1] 5 output_file = sys.argv[2] 6 with open(input_file, 'r', newline='') as csv_in_file: 7 with open(output_file, 'w', newline='') as csv_out_file: 8 filereader = csv.reader(csv_in_file) 9 filewriter = csv.writer(csv_out_file) 10 header_list = ['Supplier Name', 'Invoice Number',\ 11 'Part Number', 'Cost', 'Purchase Date'] 12 filewriter.writerow(header_list) 13 for row in filereader: 14 filewriter.writerow(row)
第 10 行代码创建了列表变量 header_list,其中包含了要作为列标题的 5 个字符串。第 12 行代码将这些列表值写入输出文件的第一行。同样,第 14 行代码将所有数据行写入输出文件,放在标题行下面。
要运行这个脚本,在命令行中输入以下命令,然后按回车键:
python 12csv_reader_add_header_row.py supplier_data_no_header_row.csv\ output_files\12output.csv
你可以打开输出文件 12output.csv 查看一下结果。
02. pandas
pandas 中的 read_csv 函数可以直接指定输入文件不包含标题行,并可以提供一个列标题列表。要给一个没有标题行的数据集添加标题行,在文本编辑器中输入下列代码,然后将文件保存为 pandas_add_header_row.py:
#!/usr/bin/env python3 import pandas as pd import sys input_file = sys.argv[1] output_file = sys.argv[2] header_list = ['Supplier Name', 'Invoice Number',\ 'Part Number', 'Cost', 'Purchase Date'] data_frame = pd.read_csv(input_file, header=None, names=header_list) data_frame.to_csv(output_file, index=False)
要运行这个脚本,在命令行中输入以下命令,然后按回车键:
python pandas_add_header_row.py supplier_data_no_header_row.csv\ output_files\pandas_output.csv
你可以打开输出文件 pandas_output.csv 查看一下结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论