Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在输出显示之前用Python对特定CSV列数据进行排序_Python_Python 3.x_Csv_Sorting - Fatal编程技术网

在输出显示之前用Python对特定CSV列数据进行排序

在输出显示之前用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-

我正在尝试按字母顺序对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-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])中的行的
谢谢克里斯·道尔。你的技术解决了这个问题。非常感谢。你为什么不使用熊猫呢?