[Related learning recommendations: python tutorial]
In the actual data analysis process, we analyze and use Python to process data (massive data ), we convert this data into Python objects, such as the most common dictionary.
For example, there are hundreds of thousands of data now (of course, generally such large data will use the concept of database and will not be run in CPU memory). It is impossible for us to use functions to calculate some in Excel. It's worth it, this is unrealistic.
Excel is only suitable for processing relatively small amounts of data, and has the advantage of convenience and speed.
So let's assume there is so much data. Now I want to parse, convert, and finally analyze and process the data, and then write the data to CSV file, this meets the requirements, so let's take a look at how to write the data dictionary to the CSV file.
Let’s associate this project with a score calculation system we wrote before. I remember that we wrote it as a txt file, which was presented in the form of a dictionary, so let’s improve it now , just to present this analyzed data to others, for example, now we need to archive and store this data.
First of all, we created a function that specifically writes to CSV files.
def csv_writer():
Here we first take out the key (header) of our data. Here we use When it comes to a traversal algorithm, some friends have asked, why don't I manually add and write it? I can just copy a few lines. But if we think about it, if there are dozens of keys, we can copy it directly. It's not that it seems a bit unautomated, Python can solve office problems. Don't take an hour, you only need 1 minute.
a=[] dict=student_infos[0] for headers in sorted(dict.keys()):#把字典的键取出来 a.append(headers) header=a#把列名给提取出来,用列表形式呈现
The header here is a list
Here I opened this file and prepared to write. I will explain the parameters inside one by one.
** a means to write in the form of "append". If it is "w", it means that the data in the original file will be cleared before writing.
newline means no blank lines are added between the data.
encoding='utf-8' means that the encoding format is utf-8. If you don't want Chinese garbled characters to appear when opening the csv file in excel, you can remove it without writing it.
In order to prevent the CSV file in pycharm from being garbled, the parameter encoding we use here is utf-8
and the excel file encoding format is gbk. The two are incompatible. It is recommended to add the encoding='utf-8' parameter. .
If you don’t want the csv file in excel to be garbled, it is recommended to open the csv file in Notepad and save it in ANSI format. **
with open('成绩更新.csv', 'a', newline='', encoding='utf-8') as f: writer = csv.DictWriter(f, fieldnames=header) # 提前预览列名,当下面代码写入数据时,会将其一一对应。 writer.writeheader() # 写入列名 writer.writerows(student_infos) # 写入数据 print("数据已经写入成功!!!")
The dictionary data here is the data that has been parsed and processed in the memory space before. I write the last line here directly using .writerows (dictionary). As for the table header, just write it with writeheader(). Okay
In fact, writing is so simple, and it solves all our troubles!
The above is the detailed content of Method example of how Python writes a dictionary to a CSV file. For more information, please follow other related articles on the PHP Chinese website!