在输出显示之前用Python对特定CSV列数据进行排序
我正在尝试按字母顺序对CSV文件的特定列进行排序,然后写入输出。CSV有大约200个条目。这是我到目前为止编写的代码,但它似乎只是在数据进入时显示数据在输出显示之前用Python对特定CSV列数据进行排序,python,python-3.x,csv,sorting,Python,Python 3.x,Csv,Sorting,我正在尝试按字母顺序对CSV文件的特定列进行排序,然后写入输出。CSV有大约200个条目。这是我到目前为止编写的代码,但它似乎只是在数据进入时显示数据 import operator import csv import requests from bs4 import BeautifulSoup import re import json def write_output(data): with open('C:\\forex.csv', mode='w', encoding="utf-
import operator
import csv
import requests
from bs4 import BeautifulSoup
import re
import json
def write_output(data):
with open('C:\\forex.csv', mode='w', encoding="utf-8") as output_file:
writer = csv.writer(output_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
writer.writerow(["SYMBOL", "VOLATILITY","% CHANGE",""])
for row in data:
writer.writerow(row)
我想调整代码,使“SYMBOL”列在写入输出CSV文件之前按字母顺序排序。任何帮助都将不胜感激 您需要在开始写入数据之前对其进行排序。假设数据是一个列表列表,并且该符号是每个子列表的第一个元素,则可以修改该行
对于数据中的行:
将来
对于已排序的行(数据,key=lambda项:项[0]):
这将根据子列表中的第一个元素返回数据的排序表示,并从低到高排序
导入操作符
导入csv
导入请求
从bs4导入BeautifulSoup
进口稀土
导入json
def写入输出(数据):
打开('C:\\forex.csv',mode='w',encoding=“utf-8”)作为输出文件:
writer=csv.writer(输出文件,分隔符=',',quotechar='”,quoteing=csv.QUOTE-ALL)
writer.writerow([“符号”,“波动性”,“变化”,“波动性])
对于已排序的行(数据,键=lambda项:项[0]):
writer.writerow(行)
您能提供一个数据的示例吗?假设数据只是一个列表的python列表,并且symbol将是子列表中的第一个元素,您是否尝试过排序(data,key=lambda item:item[0])中的行的:
谢谢克里斯·道尔。你的技术解决了这个问题。非常感谢。你为什么不使用熊猫呢?