Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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 excel_Python_Excel_Csv - Fatal编程技术网

Python字典到csv excel

Python字典到csv excel,python,excel,csv,Python,Excel,Csv,我尝试从python词典中获取csv 我可以创建一个csv文件并将我的字典放在其中 问题是,当我用excel打开文件时,标题和值都在一列中,但我希望所有键和值都在单独的列中 例如: column1 column2 column3 column4 row 1 "name" "temp" "tempeinheit" "Druck" row 2 "test" 24 "C" 0.1 这是下面的代码 dict= [{"name" :

我尝试从python词典中获取csv

我可以创建一个csv文件并将我的字典放在其中

问题是,当我用excel打开文件时,标题和值都在一列中,但我希望所有键和值都在单独的列中

例如:

      column1 column2 column3        column4
row 1 "name"   "temp" "tempeinheit"  "Druck"
row 2 "test"   24      "C"             0.1 
这是下面的代码

dict= [{"name" : "test", "temp" : 24, "tempeinheit": "C", "druck" : 0.1,    "druckeinheit": "Pa"},{"name" : "benni", "temp" : 24, "tempeinheit": "C", "druck" : 0.1, "druckeinheit": "Pa"}]
with open("C:\\test#\\test.csv","w",newline='') as csvfile:

writer = csv.writer(csvfile,dialect="excel-tab")

for row in dict:
    if count == 0:
        header=row.keys()
        writer.writerow(header)
        count=+1
    writer.writerow(row.values())
更新:

我只是把字典转换成两个列表。一个用于键,一个用于数据,我用writer.writerow(数据)编写它们

另一件事是,我使用excel 2013,对于一个新列,它不是delimiter=“,”而是delimiter=“;”。所以“;”命令excel将数据放入一个新列中


谢谢你的帮助。

我试着运行你的代码,发现了以下问题

  • 导入CSV错误
  • 当您试图通过代码写入文件时,文件已关闭
  • 计数变量未初始化
我在这里添加了我的工作代码。如果你面临任何问题,请告诉我

import csv
dict= [{"name" : "test", "temp" : 24, "tempeinheit": "C", "druck" : 0.1,    "druckeinheit": "Pa"},
    {"name" : "benni", "temp" : 24, "tempeinheit": "C", "druck" : 0}]
with open("try.csv","a") as csvfile:
    writer = csv.writer(csvfile,dialect="excel-tab")
    count = 0
    for row in dict:
        if count == 0:
            header=row.keys()
            writer.writerow(header)
            count=+1
        writer.writerow(row.values())

我试着运行你的代码,发现了以下问题

  • 导入CSV错误
  • 当您试图通过代码写入文件时,文件已关闭
  • 计数变量未初始化
我在这里添加了我的工作代码。如果你面临任何问题,请告诉我

import csv
dict= [{"name" : "test", "temp" : 24, "tempeinheit": "C", "druck" : 0.1,    "druckeinheit": "Pa"},
    {"name" : "benni", "temp" : 24, "tempeinheit": "C", "druck" : 0}]
with open("try.csv","a") as csvfile:
    writer = csv.writer(csvfile,dialect="excel-tab")
    count = 0
    for row in dict:
        if count == 0:
            header=row.keys()
            writer.writerow(header)
            count=+1
        writer.writerow(row.values())

你可以用熊猫来试试:

import pandas as pd

d = [{"name" : "test", "temp" : 24, "tempeinheit": "C", "druck" : 0.1,    "druckeinheit": "Pa"},
     {"name" : "benni", "temp" : 24, "tempeinheit": "C", "druck" : 0.1, "druckeinheit": "Pa"}] 

df = pd.DataFrame(d)

df = df[['name', 'temp', 'tempeinheit', 'druck','druckeinheit']]
df.to_csv('filename')

你可以用熊猫来试试:

import pandas as pd

d = [{"name" : "test", "temp" : 24, "tempeinheit": "C", "druck" : 0.1,    "druckeinheit": "Pa"},
     {"name" : "benni", "temp" : 24, "tempeinheit": "C", "druck" : 0.1, "druckeinheit": "Pa"}] 

df = pd.DataFrame(d)

df = df[['name', 'temp', 'tempeinheit', 'druck','druckeinheit']]
df.to_csv('filename')

您的
dict
不是字典,它是字典列表。另外,不要命名变量
dict
-您正在覆盖标准字典类型是的,我知道这是一个列表。但即使在这种情况下,我还是想像我在帖子中描述的那样保存它“问题是,当我用excel打开文件时,文件头和值都在一列中”:这主要是excel如何解析csv文件的问题,而excel在涉及csv文件时可能会非常烦人(“实际上会想到脑死”)。也许您应该试试
excel
(而不是“excel选项卡”)方言。另外,您应该在
wb
模式下打开文件,可能不要使用
换行符
。您的
dict
不是字典,而是字典列表。此外,不要命名变量
dict
-您正在覆盖标准字典类型是的,我知道这是一个列表。但即使在这种情况下,我还是想像我在帖子中描述的那样保存它“问题是,当我用excel打开文件时,文件头和值都在一列中”:这主要是excel如何解析csv文件的问题,而excel在涉及csv文件时可能会非常烦人(“实际上会想到脑死”)。也许您应该试试
excel
(而不是“excel选项卡”)方言。另外,您应该在
wb
模式下打开文件,并且可能不使用
换行符
。您好,谢谢,但是计数初始化只是一个复制粘贴错误,该文件与my c:\\try.csv一起工作。还有导入我也忘记发布了,谢谢。您好,谢谢,但是计数初始化只是一个复制粘贴错误,文件与我的c:\\try.csv兼容。我也忘了把它寄出去,谢谢。