Python 3.3将字典数据写入CSV

Python 3.3将字典数据写入CSV,python,python-3.x,csv,dictionary,export-to-csv,Python,Python 3.x,Csv,Dictionary,Export To Csv,在windows 7 32位上使用Python 3.3.5,我创建了一个包含14个键:值对的字典,示例如下- {'Name':'ABC XYZ','Mobile':'1234567890',key3:value3等等} 我正试图以以下格式将此数据写入CSV- 一行中的所有键及其下的所有值- 姓名,手机,按键3 ABC XYZ、1234567890、value3等14个键:值对 我正在使用的代码- with open("Parsed_CSV.csv", "w") as f:

在windows 7 32位上使用Python 3.3.5,我创建了一个包含14个键:值对的字典,示例如下-

{'Name':'ABC XYZ','Mobile':'1234567890',key3:value3等等}

我正试图以以下格式将此数据写入CSV- 一行中的所有键及其下的所有值-

姓名,手机,按键3

ABC XYZ、1234567890、value3等14个键:值对

我正在使用的代码-

with open("Parsed_CSV.csv", "w") as f:  
            w = csv.write(f)
            w.writerow(my_dictionary.keys())
            w.writerow(my_dictionary.values())
我犯了一个错误-

  w = csv.write(f)
TypeError: must be str, not _io.TextIOWrapper
我还试着运行下面的代码-

with open('Parsed_CSV.csv', 'w') as f:  
            w = csv.DictWriter(f, my_dictionary.keys())
            w.writeheader()
            w.writerow(my_dictionary)
但这也给了我一个错误-

w = csv.DictWriter(f, my_dictionary.keys())
AttributeError: '_io.TextIOWrapper' object has no attribute 'DictWriter'
如何使用听写器?它是否附带“csv”模块

有人能帮我理解这里的问题是什么,我如何以所需的格式编写CSV

谢谢


Sanket.

您可以轻松地使用python 3.3中的pandas将字典数据写入csv

import pandas as pd
sales = {'account': ['Jones LLC', 'Alpha Co', 'Blue Inc'],
         'Jan': [150, 200, 50],
         'Feb': [200, 210, 90],
         'Mar': [140, 215, 95]}
df=pd.DataFrame.from_dict(sales)
df.to_csv('check.csv')

上面的内容是在python2中完成的,但我认为它可以很容易地转换为python3。您可以很容易地在python3.3中使用pandas将字典数据写入csv

import pandas as pd
sales = {'account': ['Jones LLC', 'Alpha Co', 'Blue Inc'],
         'Jan': [150, 200, 50],
         'Feb': [200, 210, 90],
         'Mar': [140, 215, 95]}
df=pd.DataFrame.from_dict(sales)
df.to_csv('check.csv')

上面的内容是在python2中完成的,但是我认为它可以很容易地转换为python3,请确保您正在导入
csv
模块,并且没有覆盖该名称
csv
应该是一个
'module'
对象,但根据您的错误,
csv
似乎是一个
'u io.TextIOWrapper'
对象。这表示您已经在代码中的其他地方覆盖了名称
csv

以下几点应该很简单

import csv
my_dict = {'fieldname': 'value', 'another field': 'another value'}
with open('myfile.csv', 'w') as f:
    writer = csv.DictWriter(f, fieldnames=list(my_dict.keys()))
    writer.writeheader()
    writer.writerow(my_dict)

确保您正在导入
csv
模块,并且没有覆盖该名称
csv
应该是一个
'module'
对象,但根据您的错误,
csv
似乎是一个
'u io.TextIOWrapper'
对象。这表示您已经在代码中的其他地方覆盖了名称
csv

以下几点应该很简单

import csv
my_dict = {'fieldname': 'value', 'another field': 'another value'}
with open('myfile.csv', 'w') as f:
    writer = csv.DictWriter(f, fieldnames=list(my_dict.keys()))
    writer.writeheader()
    writer.writerow(my_dict)
试试这个:

File = open('your_csv_file.csv', 'wb+')
dictionary = {'Name':'abc', 'Class':'xyz', 'Section':'A'}
File.write(dictionary.keys())
File.write(dictionary.values())
试试这个:

File = open('your_csv_file.csv', 'wb+')
dictionary = {'Name':'abc', 'Class':'xyz', 'Section':'A'}
File.write(dictionary.keys())
File.write(dictionary.values())

如果我的字典是你的字典,那么

df = pd.DataFrame(my_dict.items(), columns=list(my_dict.keys()))    
df.to_csv('df.csv')

如果我的字典是你的字典,那么

df = pd.DataFrame(my_dict.items(), columns=list(my_dict.keys()))    
df.to_csv('df.csv')

嗨,对我来说,在Python3.3上安装pandas模块已经有问题了。每次我尝试使用“pip安装熊猫”安装它时,我都会遇到以下错误-“命令“python setup.py egg\u info”失败,错误代码为1,错误代码为c:\users\sanket~1\appdata\local\temp\pip-build-88pyt9\pandas\”尝试“pip3安装熊猫”,我认为这应该可以解决问题。运气不好。再次出现错误-RuntimeError:需要Python版本2.7或>=3.4。命令“python setup.py egg_info”在c:\users\sanket~1\appdata\local\temp\pip-build-qtv6sr\pandas\Hmm中失败,错误代码为1。尝试一下“python3-m pip安装--user numpy scipy pandas”我通过“pip3安装pandas”完成了pandas的安装,效果很好。另外,请尝试升级您的pipHi,对我来说,在Python3.3上安装pandas模块已经有问题了。每次我尝试使用“pip安装熊猫”安装它时,我都会遇到以下错误-“命令“python setup.py egg\u info”失败,错误代码为1,错误代码为c:\users\sanket~1\appdata\local\temp\pip-build-88pyt9\pandas\”尝试“pip3安装熊猫”,我认为这应该可以解决问题。运气不好。再次出现错误-RuntimeError:需要Python版本2.7或>=3.4。命令“python setup.py egg_info”在c:\users\sanket~1\appdata\local\temp\pip-build-qtv6sr\pandas\Hmm中失败,错误代码为1。尝试一下“python3-m pip安装--user numpy scipy pandas”我通过“pip3安装pandas”完成了pandas的安装,效果很好。还可以尝试升级您的PIP,谢谢!你的建议奏效了。我在其他地方使用了相同的csv…谢谢!你的建议奏效了。我在其他地方使用了相同的csv。。。