Python 从dict创建csv文件
您好,我的问题是如何将我的词典保存在csv文件中,我已设法从不同的excel文件中收集数据,并将其保存在词典中以下是代码:Python 从dict创建csv文件,python,pandas,csv,Python,Pandas,Csv,您好,我的问题是如何将我的词典保存在csv文件中,我已设法从不同的excel文件中收集数据,并将其保存在词典中以下是代码: import os from os import walk import pandas as pd path = r'C:\Users\Sarah\Desktop\IOMTest' my_files = [] for (dirpath, dirnames, filenames) in walk(path): my_files.extend([os.path.join(
import os
from os import walk
import pandas as pd
path = r'C:\Users\Sarah\Desktop\IOMTest'
my_files = []
for (dirpath, dirnames, filenames) in walk(path):
my_files.extend([os.path.join(dirpath, fname) for fname in filenames])
print(my_files)
all_dicts_list = []
for file_name in my_files:
#Display sheets names using pandas
pd.set_option('display.width',300)
mosul_file = file_name
xl = pd.ExcelFile(mosul_file)
mosul_df = xl.parse(0, header=[1], index_col=[0,1,2])
#Read Excel and Select columns
mosul_file = pd.read_excel(file_name, sheet_name = 0 ,
index_clo=None, na_values= ['NA'], usecols = "A, E, G, H , L , M" )
#Remove NaN values
data_mosul_df = mosul_file.apply (pd.to_numeric, errors='coerce')
data_mosul_df = mosul_file.dropna()
#Save to Dictionary
datamosulx = data_mosul_df.to_dict()
all_dicts_list.append(datamosulx)
print(datamosulx)
我的问题是如何节约
datamosulx = data_mosul_df.to_dict()
all_dicts_list.append(datamosulx)
作为csv文件?
谢谢您可以使用以下两种格式将熊猫转换为字典 它也是python中使用最广泛的模块之一 类型1:以列表作为值的字典
import pandas as pd
struct = {'ID' : ['1','2','3'], 'COST' : ['10','20','30']}
pd.DataFrame(struct).to_csv('Test.csv',header=True,index=False)
类型2:包含具有匹配键的词典的列表
import pandas as pd
struct = [{'ID': '1', 'COST': '10'}, {'ID': '2', 'COST': '20'},{'ID': '3', 'COST': '30'}]
pd.DataFrame(struct).to_csv('Test.csv',header=True,index=False)
我们使用这些结构来为数据提供一个结构
学习参考链接:关于数据帧对象调用
到\u csv('new\u csv\u filename.csv')
函数
请尝试以下代码:
final_dataframe = pd.DataFrame(all_dicts_list)
final_dataframe.to_csv('new_csv_filename.csv')
如果
somedict
是您的字典,您可以使用如下内容:
with open('mycsvfile.csv','wb') as f:
w = csv.writer(f)
w.writerows(somedict.items())
如果你有一份口述清单
import csv
records = [{'first_name': 'Arun', 'age': 27, 'location': ['KL', 'IN']},
{'last_name': 'N A', 'first_name': 'Samuel', 'age': 30}] # Input. Here we have two rows and lets take the keys as column name.
heading_set = {k for row in records for k in list(row)} # Doing this since the keys are different in the given dict
print(f"heading is: {heading_set}")
with open('example1.csv', 'w') as opcsv:
writer = csv.DictWriter(opcsv, fieldnames=list(heading_set))
writer.writeheader()
for row in records:
for key in list(row):
if type(row.get(key)) == list:
row[key] = ",".join(row[key])
writer.writerow(row)
您好,这段代码运行得很好,但是我正在尝试按列构造我的数据,但它不起作用。
datamosulx=[]结构={'placeid':[],'Families':[],'Latitude':[],'Longitude':[],'Location Name':[],'personals':[]}pd.DataFrame(struct)。to_csv(r'C:\Users\Sarah\Desktop\IOMTest\datamosulxx.csv',header=True,index=False)
Hi,我在jupyter中执行了该代码,csv文件也在创建中,列从左到右水平排列在顶部。使用空行..是的,如何使空行填充my dictionary datamosulx中的数据?如果要将字典作为数据传递给csv文件,则必须明确一点,即当您将dictionary传递到Dataframe()中时,键将被视为列,值将被视为行,因此,您可以做的不是通过此pd.DataFrame(struct)
创建列,而是根据您的要求在字典datamosulx
中添加键作为结构列(位置ID、族等)。最后,将该字典传递到DataFramepd.DataFrame(datamosulx)。到_csv('path\csv\u filename.csv')
我需要的是列表作为值的字典,但我不确定如何将其链接到我的所有目录列表。我尝试了以下代码,但似乎不起作用,我想按列排列数据:datamosulx=[]struct={'placeid':[],'Families':[],'Latitude':[],'Longitude':[],'Location Name':[],'personals':[]}pd.DataFrame(struct).to_csv(r'C:\Users\Sarah\Desktop\IOMTest\datamosulxx.csv',header=True,index=False)
有什么提示吗?非常感谢。