我有一个(日期时间/对象)变量的键/值配对字典,在将标头和dtypes附加到数据类型时遇到麻烦。
我可以制作一个没有列标题和dtype对象的数据框,这是我不想要的。我正在尝试使用dtype和column参数,但只会遇到错误。
我用来创建字典的代码:
for files_local in glob.glob(share_dr + '/**/*.csv', recursive=True):
match = re.search(get_matches_regex, files_local)
if match and match.group(0):
d = datetime.datetime.strptime # short form
dict_of_files_local[d(match.group('fileDate'), '%Y%m%d_%H%M%S')] = files_local
遍历我的字典:
2019-02-07 09:11:39 C:\csv\myfile_20190207_091139_092739.csv
2019-02-08 03:08:11 C:\csv\myfile_20190208_030811_031734.csv
这一切都很好,但是当我尝试使用以下方法将其添加到数据框中时:
df = pd.DataFrame.from_dict(dict_of_files_local, orient='index', dtype=['datetime', 'object'], columns=['Timestamp', 'Filename'])
我遇到了错误:
TypeError: data type not understood
这是为什么?我以为熊猫有很好的日期时间解析能力?
如何解决此问题?对于python / pandas BTW来说还是相当新的东西。
非常感谢!
答案 0 :(得分:0)
我设法找到一种解决方法,只需将dict.items()传递给pd.DataFrame参数即可。
我的下面的代码:
df = pd.DataFrame(dict_of_files_local.items(), columns=['Timestamp', 'Filename'])
现在输出以下内容:
Timestamp Filename
0 2019-02-07 09:11:39 C:\csv\myfile_20190207_091139_...
1 2019-02-08 03:08:11 C:\csv\myfile_20190208_030811_...