Python 3.3 将字典数据写入CSV
Python 3.3 Write dictionary data into CSV
在 windows 7 32 位上使用 Python 3.3.5,我创建了一个包含 14 个键:值对的字典,示例如下 -
{'Name': 'ABC XYZ', 'Mobile': '1234567890', key3: value3 等等}
我正在尝试以下列格式将此数据写入 CSV -
一行中的所有键及其下方的所有值 -
姓名,手机,key3
ABC XYZ, 1234567890, value3 依此类推 14 key:value 对
我正在使用的代码 -
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'
如何使用 DictWriter?它是否带有 'csv' 模块?
谁能帮我理解这里的问题是什么以及如何以所需格式编写 CSV?
谢谢,
桑凯特。
在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
似乎是 '_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())
如果 my_dict 是你的字典,那么
df = pd.DataFrame(my_dict.items(), columns=list(my_dict.keys()))
df.to_csv('df.csv')
在 windows 7 32 位上使用 Python 3.3.5,我创建了一个包含 14 个键:值对的字典,示例如下 -
{'Name': 'ABC XYZ', 'Mobile': '1234567890', key3: value3 等等}
我正在尝试以下列格式将此数据写入 CSV - 一行中的所有键及其下方的所有值 -
姓名,手机,key3
ABC XYZ, 1234567890, value3 依此类推 14 key:value 对
我正在使用的代码 -
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'
如何使用 DictWriter?它是否带有 'csv' 模块?
谁能帮我理解这里的问题是什么以及如何以所需格式编写 CSV?
谢谢,
桑凯特。
在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
似乎是 '_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())
如果 my_dict 是你的字典,那么
df = pd.DataFrame(my_dict.items(), columns=list(my_dict.keys()))
df.to_csv('df.csv')